Я хотел бы знать, как сделать что-то подобное, так что это простой код:
<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.