Я использую select2 v4.0.1 select box, который получает свои опции, успешно обновленные функцией ниже.Как установить опцию select2, используя только значение параметра?
function updateList(){
$("#myselect").html("");
var updateList = {
operation:"updateList"
}
$.post("myphp.php", updateList).done(function(response) {
var counter = 0;
var arrayLength = response.length;
while(counter<arrayLength){
var record = response[counter];
$("#myselect").append('<option value="'+ record.id + '">' + record.name + '</option>')
$("#myselect").select2();
++counter;
};
});
};
После этого обновления, однако, когда я пытаюсь установить выбранный вариант, приведенный ниже код, кажется, работает только для значений опций, но не для варианта текста, поэтому я получаю выбор, который не имеет никакого текста в нем.
function editTableUpdate() {
var editTableUpdate = {
ID: $("#selectrecord").val(),
operation: "editTableUpdate"
}
$.post("myphp.php", editTableUpdate).done(function(response) {
if(response.val != 0){
var record = response[0];
$("#myselect").val(record.id).trigger("change")
}
});
};
Edit:. $ ("# myselect") HTML (""); удалена из второй функции, я ошибочно положил ее туда, обрезая нужный код. У меня проблема.
Редактировать 2: При наведении указателя мыши на различные параметры, в этом случае высокая эффективность происходит в инструментах разработчика хром. Числа в конце подсветки - это id в базе данных, которые я назначаю как значения параметров.
Извините, этого не должно быть, исходный код был как $ ("# editcname, #editcsurname, #editcgsm, #editcemail, #editcexp"). Val (""); var updateEditPlc = {cID: $ ("# selectclientedit") ... и т. д., я обрезал и редактировал его, чтобы уменьшить количество кода, который вы должны пройти. Его нет в исходном коде, теперь я исправил фрагмент. Проблема остается, я не изначально выбираю опции, они находятся внутри #myselect, а не удаляются. – Ahmet
проверить метод post в моем ответе также, response.val! = 0 заменяется на response.length! = 0 внутри оператора if. – mhshimul
Спасибо за предложение, что было бы лучше проверить. Но response.val! = 0 все еще работает, функция не пропускает его; Раньше я поставил предупреждение. – Ahmet