gpt4 book ai didi

javascript - 单击相应复选框时显示/隐藏下拉菜单

转载 作者:行者123 更新时间:2023-12-01 02:33:43 24 4
gpt4 key购买 nike

要求:在选中/取消选中第一个复选框时,我需要显示/隐藏第一个下拉列表,同样在选中/取消选中第二个复选框时,我需要显示/隐藏第二个下拉列表。

请注意,由于复选框的这些值来自数据库,并且我迭代它们以在前端显示。我只能为所有复选框使用通用的 showMe() 函数

问题:当未选中 checkbox1 或使用我编写的逻辑检查 checkbox2 时,我无法完成此工作。有人可以建议一种更好的简洁方法吗?

function showMe (box, box1) {

var chboxs = document.getElementsByName("c1");
var vis = "none";
var checkedOne;
for(var i=0;i<chboxs.length;i++) {
if(chboxs[i].checked){
checkedOne = i;
alert(checkedOne);
vis = "block";
break;
}
}
document.getElementsByName(box)[checkedOne].style.display = vis;
}
    <input type="checkbox" name="c1" onclick="showMe('catsndogs','parrot')">Checkbox1
<input type="checkbox" name="c1" onclick="showMe('catsndogs','parrot')">Checkbox2
<select name="catsndogs" style="display:none">
<option>Select</option>
<optgroup label="Cats">
<option>Tiger</option>
<option>Leopard</option>
<option>Lynx</option>
</optgroup>
<optgroup label="Dogs">
<option>Grey Wolf</option>
<option>Red Fox</option>
<option>Fennec</option>
</optgroup>
</select>


<select name="parrot" style="display:none">
<option>Select1</option>
<optgroup label="Bird">
<option>Tiger</option>
<option>Leopard</option>
<option>Lynx</option>
</optgroup>
</select>

最佳答案

这是否符合您的要求?

function showMe (box, box1) {
var chkboxes = document.getElementsByName('c1');
var selects = document.getElementsByTagName('select')
var bools = []
for (var i = 0; i < chkboxes.length; i++) {
if (chkboxes[i].checked) {
selects[i].style.display = 'block';
} else {
selects[i].style.display = 'none';
}
}


}
<input type="checkbox" name="c1" onclick="showMe('catsndogs','parrot')">Checkbox1
<input type="checkbox" name="c1" onclick="showMe('catsndogs','parrot')">Checkbox2
<select name="catsndogs" style="display:none">
<option>Select</option>
<optgroup label="Cats">
<option>Tiger</option>
<option>Leopard</option>
<option>Lynx</option>
</optgroup>
<optgroup label="Dogs">
<option>Grey Wolf</option>
<option>Red Fox</option>
<option>Fennec</option>
</optgroup>
</select>


<select name="parrot" style="display:none">
<option>Select1</option>
<optgroup label="Bird">
<option>Tiger</option>
<option>Leopard</option>
<option>Lynx</option>
</optgroup>
</select>

关于javascript - 单击相应复选框时显示/隐藏下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108462/

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