gpt4 book ai didi

javascript - 填充第二个下拉菜单取决于第一个下拉菜单选择

转载 作者:行者123 更新时间:2023-11-28 00:01:50 25 4
gpt4 key购买 nike

我在这里尝试创建 html 下拉列表。在我的主列表 mobilelaptop 上,我有两件事要选择。如果我在第一个列表中选择移动选项,第二个下拉列表必须加载移动品牌的选项。如果我选择笔记本电脑,它必须加载笔记本电脑品牌。现在第三个列表必须填充取决于第二个列表选择。假设如果我选择三星作为移动品牌,它必须在下一个下拉菜单中加载安卓版本。

我的代码(我在此处添加了第二个菜单列表,具有相同的 ID。)

<select id="main_list">
<option value="default" selected>Select Your List</option>
<option value="mobile">mobile list</option>
<option value="laptop">laptop list</option>
</select>
<select id="brands">
<option value="default" selected>Select Your Mobile Brand</option>
<option value="mobile_1">Samsung</option>
<option value="mobile_2">Nokia</option>
</select>
<select id="brands">
<option value="default" selected>Select Your Laptop Brand</option>
<option value="laptop_1">HP</option>
<option value="laptop_2">Dell</option>
</select>
<select id="samsung_select">
<option value="default" selected>Select Your Andriod Version</option>
<option value="andriod_1">4.1</option>
<option value="andriod_2">4.2</option>
</select>
<select id="nokia_select">
<option value="default" selected>Select Your Windows Version</option>
<option value="windows_1">windows 8</option>
<option value="windows_2">windows 8.1</option>
</select>

自动填充此列表的最佳方法是什么。此处不使用任何数据库。

JSFIDDLE

之前看过一个类似的问题here , 但这对我不起作用

最佳答案

无法回避,这是一个有点乏味的编码,但这应该给你一个好的开始:

jsFiddle Demo

HTML:

<select id="main_list">
<option value="default" selected>Select Your List</option>
<option value="mobile">mobile list</option>
<option value="laptop">laptop list</option>
</select>
<select id="brand" class="secondary"></select>
<select id="version" class="secondary"></select>

CSS:

.secondary {display:none;}

js/jQuery:

$(function() {
var sel, i,
list = ['mobile', 'laptop'],
phone = ['Samsung', 'Nokia'],
laptop = ['HP', 'Dell'],
android = ['4.1', '4.2'],
windows = ['8', '8.1'],
dev_default = '<option value="default" selected>Select your Device brand</option>',
os_default = '<option value="default" selected>Select your OS version</option>';

sel_brand = $('#brand');
sel_version = $('#version');

$('select').change(function() {
switch (this.id) {
case 'main_list':
$('.secondary').hide();
sel_brand.find('option').remove();
sel_brand.append(dev_default);
sel_brand.show();
if (this.value == 'mobile') {
for (i = 0; i < phone.length; i++) {
$("#brand").append(
'<option value="' + phone[i] + '">' + phone[i] + '</option>'
);
}
}else if (this.value == 'laptop') {
for (i = 0; i < phone.length; i++) {
$("#brand").append(
'<option value="' + laptop[i] + '">' + laptop[i] + '</option>'
);
}
}
break;
case 'brand':
sel_version.find('option').remove();
sel_version.append(os_default);
sel_version.show();
if (this.value == 'Samsung') {
for (i = 0; i < android.length; i++) {
$("#version").append(
'<option value="' + android[i] + '">' + android[i] + '</option>'
);
}
}else if (this.value == 'Nokia' || this.value == 'HP' || this.value == 'Dell') {
for (i = 0; i < windows.length; i++) {
$("#version").append(
'<option value="' + windows[i] + '">' + windows[i] + '</option>'
);
}
}
break;
}
});

}); //END document.ready()

关于javascript - 填充第二个下拉菜单取决于第一个下拉菜单选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com