Я работаю над модулем, который должен выбрать единственно возможное значение поля выбора Multi- или Single, если доступно только одно допустимое значение и пустое.
Пока все работает нормально До тех пор, пока я не использую ACL для отключения выбора значений. Например, я получил одно поле выбора с 3-мя возможными значениями. Затем я отключаю 2 из них (ACL - если выбрана специальная очередь), поэтому остается только одно значение (+ пустое). Мой модуль сначала не выберет последнее значение, но когда я изменю что-либо еще на той же странице (второй вызов onchange), он выберет последнее возможное значение.
Первое условие if проверяет, имеет ли поле только одно возможное значение в этом. Когда я записываю массив 'Change', он всегда получает отключенные значения, которые все еще там, даже когда 'change', который вызывал всю функцию, был ACL, отключающим эти значения.
Я все еще новичок в javascript и Я еще не нашел решение.
Буду очень признателен за любую помощь.
$('.TableLike').on("change", function () {
var Change = [];
$('.Row').each( function() {
$(this).children().next().children().next().children().each( function(index) {
Change[index] = $(this).text()
} )
if ( (!Change[2] || /.*Field needed.*/i.test(Change[2])) && Change[0] === "-") {
SoleOption = Change[1];
$(this).children().next().children().next().children().each(function() {
if ($(this).text() === "-") {
$(this).removeAttr("selected");
}
if ($(this).text() === SoleOption) {
$(this).attr("selected", "selected");
}
} )
$(this).children().next().children().children().children().val(SoleOption)
}
SoleOption = "";
Change = [];
} )
} )