javascript - 在选择复选框下拉菜单中选择复选框下拉菜单?
问题描述
我想再次在 Select Checkbox 下拉菜单下创建一个 Select checkbox 列表。我需要做什么?
我需要的样品
☑ C 1 : name
☐ C 1.1 : name
☑ C 1.2 : name
☐ C2 : name
☐ C3 : name
我的代码
表单视图
<label>Standard List</label>
<select type="button"id="framework" name="framework[]" multiple class="form-control" >
<option class="dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" value="Codeigniter">Codeigniter</option>
<option value="CakePHP">CakePHP</option>
<option value="Laravel">Laravel</option>
<option value="YII">YII</option>
<option value="Zend">Zend</option>
<option value="Symfony">Symfony</option>
<option value="Phalcon">Phalcon</option>
<option value="Slim">Slim</option>
</select>
JS:
$(document).ready(function(){
$('#framework').multiselect({
nonSelectedText: 'Choose...',
enableFiltering: true,
enableCaseInsensitiveFiltering: true,
buttonWidth:'400px'
});
});
解决方案
不使用 JQuery:(只是 DOM)
HTML:
<!--------C1------------>
<input type="checkbox" id="c1" onclick="check()">
<label>C 1</label><br>
<div id="c1-hidden" style="display:none">
    <input type="checkbox" id="c1" onclick="check()">
<label>C 1.1</label><br>
    <input type="checkbox" id="c1" onclick="check()">
<label>C 1.2</label>
</div>
<!--------C2------------->
<input type="checkbox" id="c2" onclick="check()">
<label>C 2</label><br>
<div id="c2-hidden" style="display:none">
    <input type="checkbox" id="c1" onclick="check()">
<label>C 2.1</label><br>
    <input type="checkbox" id="c1" onclick="check()">
<label>C 2.2</label>
</div>
<!--------C3------------->
<input type="checkbox" id="c3" onclick="check()">
<label>C 3</label>
<div id="c3-hidden" style="display:none">
    <input type="checkbox" id="c1" onclick="check()">
<label>C 3.1</label><br>
    <input type="checkbox" id="c1" onclick="check()">
<label>C 3.2</label>
</div>
Javascript:
<script>
var checkboxes = ["c1","c2","c3"];
function check(){
checkboxes.forEach(item=>{
if(document.getElementById(item).checked==true){
document.getElementById(item+"-hidden").style.display = "block";
}else{
document.getElementById(item+"-hidden").style.display = "none";
}
});
}
</script>
希望这可以帮助 :)
推荐阅读
- c# - 是否可以进一步优化此代码,以便我不会在竞争网站上获得 Time Limit Exceeded 或 TLE?
- tensorflow - Tensorflow - deeplab 颜色图
- ruby-on-rails - <% if I18n.locale == 'es' %> 不起作用
- python - Matplotlib 图没有出现在保存的 png 图像上
- java - 如何从 TableView 中删除蓝色焦点边框?
- android - ANDROID 按下时更改按钮颜色
- php - Wordpress - 定义常量给出“警告:使用未定义常量”错误
- docker - Socket.io 客户端无法连接到 Docker Swarm 中服务器的命名空间
- javascript - js表单输入事件
- reactjs - 循环遍历 React 中的数组,并在迭代之间暂停