Установить выбранную опцию в динамически заполненном выпадающем Jquery
У меня есть 2 каскадных выпадающих списка: Drop Down A(заполняется из базы данных без статических значений) и Drop Down B
Пользователь выбирает значение из раскрывающегося списка A и на основе этого значения всплывают в раскрывающемся списке B(снова из таблицы на основе локально хранимых данных). Все это работает нормально
Теперь допустим, что в выпадающем меню A есть предметы: Item1,Item 2,Item 3....
В выпадающем меню B есть значения для элемента 1: 10,20,30
для позиции 2: 10,50,40
для позиции 3: 20,70,90.
Пользователь выбирает Элемент 1 и выбирает значение "10" из Вниз B, страница отправляет и для новой записи он выбирает Элемент 2,
Теперь мое требование состоит в том, что если пользователь выбирает пункт 2, то в раскрывающемся меню B автоматически устанавливается значение "!0", так как это было последнее значение, выбранное пользователем, а также это значение, существующее для элемента 2.
Я создаю оба раскрывающихся списка динамически, как это:
function some (){
var numUnits = measureSet.length;
var htmlOutput = '<select name="select-choice-a_point" class="ui-select" id="select-choice-a_point" data-native-menu="false"><option>Select a Fluid Type</option>';
for ( var i = 0; i < numUnits; i++) {
htmlOutput += '<option value="' + measureSet[i] + '">' + measureSet[i]
+ '</option>';
}
htmlOutput += '</select>';
$("#select-choice-a_point-button").remove();
$("#select-choice-a_point").remove();
$("#pointlabel").after(htmlOutput);
$("#select-choice-a_point").selectmenu();
}
Кто-нибудь может подсказать, как я могу установить значение на последнее выбранное значение в раскрывающихся списках, которые динамически создаются и заполняются?
Я уже пробовал это, он не работал, и он по-прежнему показывает значение по умолчанию, которое "Выберите тип жидкости", см. Мой код ниже
function abc(){
var setLength = measureSet.length;
var valueSet = false;
alert(prevFuelType);
for ( var i = 0; i < setLength; i++) {
if(prevFuelType == measureSet[i]){
alert("inside condition");
valueSet = true;
break;
}
}
var htmlOutput = '<select name="select-choice-a_point" class="ui-select" id="select-choice-a_point" data-native-menu="false"><option>Select a Fluid Type</option>';
var numUnits = measureSet.length;
for ( var i = 0; i < numUnits; i++) {
htmlOutput += '<option value="' + measureSet[i] + '">' + measureSet[i]
+ '</option>';
}
htmlOutput += '</select>';
$("#select-choice-a_point-button").remove();
$("#select-choice-a_point").remove();
$("#pointlabel").after(htmlOutput);
$("#select-choice-a_point").selectmenu();
if(valueSet == true){
alert("bout to set");
//$("select[id$='select-choice-a_point'] option:selected").removeAttr("selected");
//$("select[id$='select-choice-a_point'] option[value="+ prevFuelType + ']").attr("selected","selected");
/* $('#select-choice-a_point option:[text="' + prevFuelType + '"]').attr('selected', true);
$('#select-choice-a_point option:[value="' + prevFuelType + '"]').attr('selected', true);*/
$("#select-choice-a_point").val(prevFuelType);
$("#select-choice-a_point").text(prevFuelType);
}
$('#measurepointfield').show();
}
1 ответ
// drop_down_A changes. What happens now?
var last_val = $('#drop_down_B').val(); // let's keep the current value;
// now, you do your magic and repopulate $('#drop_down_B')
// ..
// ..
$('#drop_down_B').val(last_val);
// if the value exists it will be selected, otherwise nothing will happen