Изменить параметры выбора, если выбран другой параметр выбора - PullRequest
0 голосов
/ 18 ноября 2018

Я хотел бы знать, как сделать что-то подобное, так что это простой код:

<select id="cars">
   <option value="default">Select a car</option>
   <option value="bmw">BMW</option>
   <option value="audi">Audi</option>
   <option value="mercedes">Mercedes-Benz</option>
</select>

<select id="models">
   <option value="">Select a model</option>
</select>

Я видел этот пост как изменить параметры выбора на основе другого выбораопция выбрана? , но в моей версии я хочу, чтобы эти опции были в массиве.

var modelsBmw = ["3", "5", "7"];
var modelsAudi = ["A4", "A6", "A8"];
var modelsMercedes = ["C", "E", "S"];

, поэтому, когда выбран bmw, в #models я хочу иметь предметы из моделей BMW.Я пробовал так:

$(document).ready(function() {

$("#cars").change(function() {
    var val = $(this).val();

    if(val=="bmw"){
        $("#models").html(modelsBmw[val]);
    }

    else if(val=="audi"){
        $("#models").html(modelsAudi[val]);
    }

    else if(val=="mercedes"){
        $("#models").html(modelsMercedes[val]);
    }
});

    var modelsBmw = ["3", "5", "7"]; 
    var modelsAudi = ["A4", "A6", "A8"]; 
    var modelsMercedes = ["C", "E", "S"]; });

, а также пробовал с версией без квадратных скобок $ ("models"). Html (modelsBmw);

Попробовав эти методы, я со своим другом начал пытаться сделать это, используя цикл for, и это как-то сработало, но у нас была проблема с добавлением элемента.Я имею в виду, что когда мы выбрали BMW, все было в порядке, но затем, когда вы переключились на Audi, список был не только построен с элементами BMW, но и к нему присоединилась Audi.

К сожалению, он ушел на работу, поэтому у меня нет доступа к этой версии кода с помощью цикла, потому что мы работали вместе с помощью TeamViewer.

...