我有以下代码:
<input type="hidden" name="airport" tabindex="6" />
$('input[name="airport"]', '#details-form').select2({
minimumInputLength: 3,
multiple: true,
separator: ';',
width: 'off',
initSelection : function (element, callback) {
var data = [];
$(element.val().split(';')).each(function () {
data.push({id: this, text: this});
});
callback(data);
},
ajax: {
url: History.getBasePageUrl() + 'get-airports-dictionary',
dataType: 'json',
data: function (term, page) {
return {
q: term
};
},
results: function (data, page) {
var code = parseInt(data[0]);
switch (code) {
case 0:
return {results: data[1]};
break;
default:
window.Common.showError(data[1]);
break;
}
}
},
formatResult: formatAirportResult,
formatSelection: formatAirportSelection
});
一切正常,直到我想为该字段设置现有值 - initSelection 方法中的元素参数显示空值!
$('input[name="airport"]', '#details-form').select2('val', '2');
我尝试使用以下代码设置原始值:
$('input[name="airport"]', '#details-form').val('2');
它可以工作,但是在 select2 的 val 方法中的某个地方,值消失了..
我在此更新中使用 Select2 的 3.4.0 版本。
谢谢