我有我已經selectized作爲工作正常查詢遠程數據標記的文本輸入,我可以搜索,甚至用它創建新項目,所有工程確定。
使用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);
}
});
}
});
文本框:
<input class="authorsearch" id="Authors" name="Authors" type="text" value="" />
例子:
後來,當我選擇一個(在這種情況下, '蘋果'),它如你所期望的那樣出現在徽章中,並且文本框的基礎值是ac這些項目的值的omma分隔列表。
電流輸出
問題是,當我打開一個網頁,並希望在selectized文本輸入的標籤來顯示從數據庫中檢索到的值,它只會加載的價值觀和我可以看不到顯示displayname的方式。
<input class="authorsearch" id="Authors" name="Authors" type="text" value="1,3,4" />
期望輸出繼電器
我已經試過各種用於輸入值的字段值有它加載的項目作爲展示自己的顯示名稱,而不是它們的值。下面是一個以JSON形式返回的單個對象的例子,能夠加載這些JSON數組作爲選擇標籤是理想的。
[{"AuthorId":1,"AuthorName":"Test Author"},
{"AuthorId":3,"AuthorName":"Apple"},
{"AuthorId":4,"AuthorName":"Test Author 2"}]
我怎麼能去呢?我是否需要以特定方式形成文本框的值,還是需要使用一些JavaScript加載我現有的值?
作爲一個更新,我創建了一個的jsfiddle [這裏](http://jsfiddle.net/2c6qsf9d /)可用於測試預加載/行爲。 – 2014-09-11 04:31:57