Chargement des valeurs dans Selectize.js

Problème

J'ai une saisie de texte que j'ai selectized que les balises qui fonctionne très bien pour l'interrogation de données à distance, je peux rechercher et même de créer de nouveaux éléments à l'aide et que tout fonctionne bien.

À l'aide de selectize:

var $select = $('.authorsearch').selectize({
    valueField: 'AuthorId',
    labelField: 'AuthorName',
    searchField: ['AuthorName'],
    maxOptions: 10,
    create: function (input, callback) {
        $.ajax({
            url: '/Author/AjaxCreate',
            data: { 'AuthorName': input },
            type: 'POST',
            dataType: 'json',
            success: function (response) {
                return callback(response);
            }
        });
    },
    render: {
        option: function (item, escape) {
            return '<div>' + escape(item.AuthorName) + '</div>';
        }
    },
    load: function (query, callback) {
        if (!query.length) return callback();
        $.ajax({
            url: '/Author/SearchAuthorsByName/' + query,
            type: 'POST',
            dataType: 'json',
            data: {
                maxresults: 10
            },
            error: function () {
                callback();
            },
            success: function (res) {
                callback(res);
            }
        });
    }
});

La zone de texte:

<input class="authorsearch" id="Authors" name="Authors" type="text" value="" />

Exemples:

Chargement des valeurs dans Selectize.js

Puis, quand je sélectionne un (dans ce cas, 'pomme') il est livré dans un badge que vous vous attendez, et de la valeur sous-jacente de la zone de texte est une liste séparée par des virgules des valeurs de ces éléments.

Chargement des valeurs dans Selectize.js

Courant De Sortie

Le problème est que lorsque je charge une page et souhaitez que les valeurs extraites de la base de données à afficher dans la selectized de saisie de texte sous forme de balises, il ne charge que les valeurs et je ne vois pas de moyen d'afficher le nom d'affichage au lieu.

<input class="authorsearch" id="Authors" name="Authors" type="text" value="1,3,4" />

Chargement des valeurs dans Selectize.js

Souhaitée En Sortie

J'ai essayé toutes sortes de valeurs pour les entrées de champ de valeur de façon à charger les éléments montrant leur displayname et pas leurs valeurs. Ci-dessous est un exemple unique d'un objet retourné en JSON, être en mesure de charger un tableau JSON de ces selectized balises serait l'idéal.

[{"AuthorId":1,"AuthorName":"Test Author"},
 {"AuthorId":3,"AuthorName":"Apple"},
 {"AuthorId":4,"AuthorName":"Test Author 2"}]

Chargement des valeurs dans Selectize.js

Comment puis-je aller à ce sujet? Ai-je besoin pour former la valeur de la zone de texte d'une manière particulière, ou dois-je charger mes valeurs existantes à l'aide du javascript?

source d'informationauteur Alex.Ritna | 2014-09-11