Я пишу некоторый код для изменения значения в поле select2
. Однако у меня есть пара вызовов Ajax, чтобы сохранить и извлечь данные из моего Java бэкэнда. Несмотря на то, что я получаю все данные обратно правильно, когда я go, чтобы установить его в поле, он показывает одно, но не другое. Под этим я подразумеваю, что он выбирает только один фрагмент данных и вместо изменения поля в соответствии с выбранным значением просто печатает, устанавливает значение того, что было последним значением.
Так, например, я иметь 2 значения в массиве. Как только я выберу значение из внешнего интерфейса, оно возьмет соответствующее имя и найдет значение во внутреннем интерфейсе. Если они совпадают, информация передается обратно. Проблема возникает, когда в массиве имеется более 2 значений для выбора. Он будет передавать только последнее значение в массиве.
JQuery: отправка данных
function infoForSelData() {
var tier = $("#selectData1").val();
var type = $("#selectData2").val();
var name = $("#nameField").val();
var server = $("#selectData3").val();
var query = $("#exampleFormControlTextarea1").val();
var search = {
"dtoTiername" : tier,
"dtoSystem" : type,
"dtoMqlList" : name,
"dtoMqlSel" : server,
"dtoTagNameOne" : query
}
$.ajax({
type : "POST",
contentType : 'application/json; charset=utf-8',
dataType : 'text',
url : "/ajax/saveSelInfo",
data : JSON.stringify(search),
success : function(result) {
console.log("Success: ", result);
var selectorName = eventSelect.val() + "_" + eventSelectTwo.val();
$(".table-active").attr('id', selectorName);
$('.table-active').find("td:first-child").text(result);
},
error : function(err) {
console.log("Error: ", err);
}
});
}
JQuery: для получения данных
function getDataAboutSelector(name) {
var search2 = {
"dtoTiername" : name
}
$.ajax({
type : "POST",
contentType : 'application/json; charset=utf-8',
dataType : 'json',
url : "/ajax/getDataForSelector",
data : JSON.stringify(search2),
success : function(result) {
var array = result[0].split('_');
$('#selectData1').val(array[0]).trigger('change');
//This is where the problem occurs
$('#selectData2').val(array[1]).trigger('change');
$('#nameField').val(result[0]);
$('#exampleFormControlTextarea1').val(result[1]);
$('#selectData3').val(result[2]).trigger('change');
console.log("Array 0: " + array[0]);
console.log("Array 1: " + array[1]);
console.log("Result 0: " + result[0]);
console.log("Result 1: " + result[1]);
console.log("Result 2: " + result[2]);
},
error : function(err) {
console.log(err);
}
});
}