Установить выбранную опцию в динамически заполненном выпадающем 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
Другие вопросы по тегам