我已经搜索了很多答案并尝试了它们,但我无法使用jquery动态地更改select2下拉列表的值。select2使用jquery动态更改值
我正在使用ajax select2使用json远程获取数据。
下拉菜单工作正常。
这是我到目前为止尝试过的。
//UserGroupID is a variable contains the database value
var groupSelector = $("#EditSpeciality");
//1.
groupSelector.select2("val", {ID: userGroupID, TEXT: "Lorem Ipsum"});
//2.
groupSelector.val(userGroupID).trigger("change");
//3.
groupSelector.select2("val", {ID: userGroupID, TEXT: "Lorem Ipsum"});
//4.
groupSelector.val(userGroupID);
但是他们都没有改变下拉值。
如何动态设置数值..
这是我的HTML。
<select class="form-control select2" id="groupSelector" name="groupSelector" style="width: 100%;"></select>
= - = - = - = - = - = - = - = - = - = - =
更新:
进出口使用笨MVC,我知道这不应该物。但是想把所有东西放在桌子上。
的选择2的版本是,我得到4.0.0
JSON代码是从控制器,通过它选择2被填充列表。
以下是select2的代码。
function commonSelect2(selector,url,minInputLength,placeholder){
selector.select2({
minimumInputLength:minInputLength,
placeholder:placeholder,
ajax: {
url: url,
dataType: "json",
delay: 250,
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
processResults: function (data) {
return {
results: $.map(data, function(obj) {
return { id: obj.ID, text: obj.TEXT };
})
};
},
cache: true
},
debug:false
});
}
我调用上面的函数来初始化页面中的下拉菜单。
// Speciality Selector for editing popup box
var SelectorSpeciality = $("#EditSpeciality");
var minInputLength = 0;
var placeholder = "Select Speciality";
var ConsultantSelectorURL = "' . base_url() . 'Admin/select_speciality";
commonSelect2(SelectorSpeciality,ConsultantSelectorURL,minInputLength,placeholder);
功能驻留在资产规模/ JS目录中的一些.js
文件。
它帮助我获得干净的代码并随时调用函数。
我认为我们可以与initselection修复它,但我不知道如何与initselection我也没有试着用搜索引擎,但没有运气修复它..
先生,我的代码有来自控制器的json数据。我正在使用select2 4.0.0。 和以上方法都不适合我:( –