Я искал много ответов и пробовал их, но я не могу динамически изменять значение раскрывающегося списка 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>
=-=-=-=-=-=-=-=-=-=-=
Обновление:
Я использую codeigniter MVC, я знаю, что это не имеет значения. но хочу выложить здесь все на стол.
Версия select2 - 4.0.0
Код JSON, который я получаю, взят из контроллера, через который select2 заполняет список.
Ниже приведен код 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
файле в каталоге assets / js.
это помогает мне иметь чистый код и вызывать функцию всякий раз, когда мне нужна функция.
Я думаю, что мы можем исправить это с помощью initselection, но я не знаю, как исправить это с помощью initselection. Я тоже пытался погуглить, но не повезло ...