尝试使用多选处理下拉菜单时出错? [英] Error when trying to work on drop down with multi select?
问题描述
var Expanded = false;功能 showCheckboxes() {var checkboxes = document.getElementById("checkboxes");如果(!扩展){checkboxes.style.display = "block";扩展 = 真;} 别的 {checkboxes.style.display = "none";扩展 = 假;}}
.gradesub-filter{宽度:299px;高度:335px;边距:30px 0px 0px 0px;背景色:#ffffff;}.form-filter-shade{填充:16px 0px 9px 20px;字体粗细:600;字体大小:16px;边框底部:2px 实心 #F0F0F0;}.多选 {宽度:200px;}.selectBox {位置:相对;}.selectBox 选择 {宽度:100%;字体粗细:粗体;}.overSelect {位置:绝对;左:0;右:0;顶部:0;底部:0;}#复选框{显示:无;边框:1px #dadada 实心;}#checkboxes 标签{显示:块;}#checkboxes 标签:悬停{背景颜色:#1e90ff;}
<div class="form-filter-shade">Gradecheck</div><div class="multiselect"><div class="selectBox" onclick="showCheckboxes()"><选择><option>选择一个选项</option></选择><div class="overSelect"></div><div id="复选框"><label for="one"><input type="checkbox" id="one"/>第一个复选框</label><label for="two"><input type="checkbox" id="two"/>第二个复选框</label><label for="三"><input type="checkbox" id="three"/>第三个复选框</label>
我正在尝试多选下拉"带有复选框,如下图所示.现在代码的问题是无法从下拉列表中选择列表.
我认为问题出在js代码中,在onclick期间它没有获取值,有人可以建议我解决这个问题
我认为您正在寻找嵌套的复选框,提供的图像也建议相同.
这是代码片段,简单地添加了
和 标签来对齐复选框,并使用了一些 JavaScript 查询选择器来实现复选框功能.>
var subOptions = document.querySelectorAll('input.sub');var checkAll = document.getElementById("one");for(var i = 0; i < subOptions.length; i++ ){subOptions[i].onclick = function(){var checkedCount = document.querySelectorAll('input.sub:checked').length;checkAll.checked = checkedCount >0;checkAll.indeterminate = checkedCount >0 &&已检查计数
.gradesub-filter{宽度:299px;高度:335px;边距:30px 0px 0px 0px;背景色:#ffffff;}.form-filter-shade{填充:16px 0px 9px 20px;字体粗细:600;字体大小:16px;边框底部:2px 实心 #F0F0F0;}.多选 {宽度:200px;}.selectBox {位置:相对;}.selectBox 选择 {宽度:100%;字体粗细:粗体;}.overSelect {位置:绝对;左:0;右:0;顶部:0;底部:0;}#复选框{显示:无;边框:1px #dadada 实心;}#checkboxes 标签{显示:块;}#checkboxes 标签:悬停{背景颜色:#1e90ff;}ul{左边距:-25px;}李{列表样式:无;}
<div class="form-filter-shade">Gradecheck</div><div class="multiselect"><div class="selectBox" onclick="showCheckboxes()"><选择><option>选择一个选项</option></选择><div class="overSelect"></div><div id="复选框"><ul><li><label for="one"><input type="checkbox" id="one"/>第一个复选框</label><ul><li><label for="sub-one"><input class='sub' type="checkbox" id="sub-one"/>Sub One checkbox</label><li><label for="sub-two"><input class='sub' type="checkbox" id="sub-two"/>Sub Two checkbox</label><li><label for="sub-three"><input class='sub' type="checkbox" id="sub-three"/>Sub 三复选框</label><li><label for="two"><input type="checkbox" id="two"/>第二个复选框</label><li><label for="three"><input type="checkbox" id="three"/>第三个复选框</label>