这属于select2版本4之前的代码
我有一个简单的select2
代码,可从ajax获取数据
$("#programid").select2({
placeholder: "Select a Program",
allowClear: true,
minimumInputLength: 3,
ajax: {
url: "ajax.php",
dataType: 'json',
quietMillis: 200,
data: function (term, page) {
return {
term: term, //search term
flag: 'selectprogram',
page: page // page number
};
},
results: function (data) {
return {results: data};
}
},
dropdownCssClass: "bigdrop",
escapeMarkup: function (m) { return m; }
});
该代码有效,但是,我需要像在编辑模式下一样在其上设置一个值。当用户第一次选择一个值时,它将被保存,并且当他需要编辑该值时,它必须出现在同一选择菜单(
select2
)中以选择先前选择的值,但我找不到方法。更新:
HTML代码:
<input type="hidden" name="programid" id="programid" class="width-500 validate[required]">
Select2 programmatic access不能与此一起使用。
最佳答案
要动态设置Select2组件的“选定”值:
$('#inputID').select2('data', {id: 100, a_key: 'Lorem Ipsum'});
其中第二个参数是具有期望值的对象。
更新:
这样做确实有效,只是要注意在新的select2中,在标准select2对象中,“a_key” 是“text” 。所以:
{id: 100, text: 'Lorem Ipsum'}
示例:
$('#all_contacts').select2('data', {id: '123', text: 'res_data.primary_email'});
感谢@NoobishPro