Problemavalori caricamento in Selectize.js
Ho un input di testo che ho selectized come tag che funziona bene per l'interrogazione dei dati a distanza, posso cercare e persino creare nuovi oggetti di utilizzarlo e che tutto funziona bene .
Utilizzando 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);
}
});
}
});
casella di testo:
<input class="authorsearch" id="Authors" name="Authors" type="text" value="" />
Esempi:
Poi quando seleziono uno (in questo caso 'mela') è arriva in un badge come ci si aspetterebbe, e il valore sottostante della casella di testo è ac elenco separato da omma dei valori di questi elementi.
Corrente di uscita
Il problema è quando carico una pagina e voglio valori recuperati dal database da visualizzare nel il metodo di scrittura selectized come tag, si carica solo i valori e io non può vedere invece il modo di visualizzare il displayname.
<input class="authorsearch" id="Authors" name="Authors" type="text" value="1,3,4" />
Desiderate Ouput
Ho provato tutti i tipi di valori per il campo valore ingressi averlo caricare gli articoli come mostrando loro displayname e non loro valori. Di seguito è riportato un esempio di un singolo oggetto restituito come JSON, essere in grado di caricare un array JSON di questi come tag selezionati sarebbe l'ideale.
[{"AuthorId":1,"AuthorName":"Test Author"},
{"AuthorId":3,"AuthorName":"Apple"},
{"AuthorId":4,"AuthorName":"Test Author 2"}]
Come posso andare su questo? Devo formare il valore della casella di testo in un modo particolare, o devo caricare i miei valori esistenti usando qualche javascript?
come aggiornamento, ho creato un jsfiddle [qui] (http://jsfiddle.net/2c6qsf9d /) che può essere utilizzato per testare il preloading/comportamento out. –