如果选中,则显示/隐藏UL子项
Show/Hide UL child if checked
我试图在单击父项时显示/隐藏一些ul复选框。我到处找,就是找不到工作!
有人能帮我把这件事做好吗?如果选中了父类别,则需要显示/隐藏子复选框。
这是代码:
<div id="refine-categories">
<h4>Categories</h4>
<ul class="parent cf">
<li id='project_category-3' class="popular-category"><label class="selectit"><input value="3" type="checkbox" name="cat_project_category[]" id="in-project_category-3" /> Aanbouw & Opbouw</label><ul class='children'>
<li id='project_category-33'><label class="selectit"><input value="33" type="checkbox" name="cat_project_category[]" id="in-project_category-33" /> aanbouw</label></li>
<li id='project_category-34'><label class="selectit"><input value="34" type="checkbox" name="cat_project_category[]" id="in-project_category-34" /> algemeen</label></li>
<li id='project_category-35'><label class="selectit"><input value="35" type="checkbox" name="cat_project_category[]" id="in-project_category-35" /> Fundering en heiwerken</label></li>
<li id='project_category-36'><label class="selectit"><input value="36" type="checkbox" name="cat_project_category[]" id="in-project_category-36" /> garage bouwen</label></li>
<li id='project_category-37'><label class="selectit"><input value="37" type="checkbox" name="cat_project_category[]" id="in-project_category-37" /> isoleren</label></li>
<li id='project_category-38'><label class="selectit"><input value="38" type="checkbox" name="cat_project_category[]" id="in-project_category-38" /> nieuwbouw</label></li>
<li id='project_category-39'><label class="selectit"><input value="39" type="checkbox" name="cat_project_category[]" id="in-project_category-39" /> opbouw</label></li>
<li id='project_category-40'><label class="selectit"><input value="40" type="checkbox" name="cat_project_category[]" id="in-project_category-40" /> renovatie</label></li>
<li id='project_category-41'><label class="selectit"><input value="41" type="checkbox" name="cat_project_category[]" id="in-project_category-41" /> veranda en serre</label></li>
</li>
</ul> </div>
当我点击父复选框时,我可以看到跨度类已更改为<span class="custom checkbox checked"></span>
希望有人能帮我解决这个问题!
感谢您抽出时间!
附言:你可以在这里查看网站:http://bit.ly/20Miaom它在侧边栏(右)。
将.children
设置为display:none;
。
则从.parent
中查找第一个复选框。如果选中,则添加change
事件,然后添加toggle
.children
。
为了对所有列表更加通用,请使用this
,返回.parent
并找到要切换的.children
。
$('.parent input[type="checkbox"]:first-child').change(function(){
$(this).closest('.parent').find('.children').toggle($(this).is(':checked'));
});
$('.parent input[type="checkbox"]:first-child').change(function() {
$(this).closest('.parent').find('.children').toggle($(this).is(':checked'));
});
.children {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="refine-categories">
<h4>Categories</h4>
<ul class="parent cf">
<li id='project_category-3' class="popular-category">
<label class="selectit">
<input value="3" type="checkbox" name="cat_project_category[]" id="in-project_category-3" />Aanbouw & Opbouw</label>
<ul class='children'>
<li id='project_category-33'>
<label class="selectit">
<input value="33" type="checkbox" name="cat_project_category[]" id="in-project_category-33" />aanbouw</label>
</li>
<li id='project_category-34'>
<label class="selectit">
<input value="34" type="checkbox" name="cat_project_category[]" id="in-project_category-34" />algemeen</label>
</li>
<li id='project_category-35'>
<label class="selectit">
<input value="35" type="checkbox" name="cat_project_category[]" id="in-project_category-35" />Fundering en heiwerken</label>
</li>
<li id='project_category-36'>
<label class="selectit">
<input value="36" type="checkbox" name="cat_project_category[]" id="in-project_category-36" />garage bouwen</label>
</li>
<li id='project_category-37'>
<label class="selectit">
<input value="37" type="checkbox" name="cat_project_category[]" id="in-project_category-37" />isoleren</label>
</li>
<li id='project_category-38'>
<label class="selectit">
<input value="38" type="checkbox" name="cat_project_category[]" id="in-project_category-38" />nieuwbouw</label>
</li>
<li id='project_category-39'>
<label class="selectit">
<input value="39" type="checkbox" name="cat_project_category[]" id="in-project_category-39" />opbouw</label>
</li>
<li id='project_category-40'>
<label class="selectit">
<input value="40" type="checkbox" name="cat_project_category[]" id="in-project_category-40" />renovatie</label>
</li>
<li id='project_category-41'>
<label class="selectit">
<input value="41" type="checkbox" name="cat_project_category[]" id="in-project_category-41" />veranda en serre</label>
</li>
</li>
</ul>
</div>
<div id="refine-categories">
<h4>Categories 2</h4>
<ul class="parent cf">
<li id='project_category-3' class="popular-category">
<label class="selectit">
<input value="3" type="checkbox" name="cat_project_category[]" id="in-project_category-3" />Aanbouw & Opbouw</label>
<ul class='children'>
<li id='project_category-33'>
<label class="selectit">
<input value="33" type="checkbox" name="cat_project_category[]" id="in-project_category-33" />aanbouw</label>
</li>
<li id='project_category-34'>
<label class="selectit">
<input value="34" type="checkbox" name="cat_project_category[]" id="in-project_category-34" />algemeen</label>
</li>
<li id='project_category-35'>
<label class="selectit">
<input value="35" type="checkbox" name="cat_project_category[]" id="in-project_category-35" />Fundering en heiwerken</label>
</li>
<li id='project_category-36'>
<label class="selectit">
<input value="36" type="checkbox" name="cat_project_category[]" id="in-project_category-36" />garage bouwen</label>
</li>
<li id='project_category-37'>
<label class="selectit">
<input value="37" type="checkbox" name="cat_project_category[]" id="in-project_category-37" />isoleren</label>
</li>
<li id='project_category-38'>
<label class="selectit">
<input value="38" type="checkbox" name="cat_project_category[]" id="in-project_category-38" />nieuwbouw</label>
</li>
<li id='project_category-39'>
<label class="selectit">
<input value="39" type="checkbox" name="cat_project_category[]" id="in-project_category-39" />opbouw</label>
</li>
<li id='project_category-40'>
<label class="selectit">
<input value="40" type="checkbox" name="cat_project_category[]" id="in-project_category-40" />renovatie</label>
</li>
<li id='project_category-41'>
<label class="selectit">
<input value="41" type="checkbox" name="cat_project_category[]" id="in-project_category-41" />veranda en serre</label>
</li>
</li>
</ul>
</div>
您需要为此使用一些JQuery。
$('#in-project_category-3').click(function () {
$(".children").toggle(this.checked);
});
而您的孩子ul需要获得display: none
我给你做了一把小提琴,我希望这是你想要的:https://jsfiddle.net/jfuhdq0g/2/
相关文章:
- 在JQuery中隐藏和显示ul中的特定元素
- 隐藏/显示包含单词的ul li项目.但只能入住李的子女
- HTML/jQuery点击显示/隐藏ul
- 如何在应用切换点击功能之前,默认情况下在页面加载时隐藏带有特定类的ul-li
- 使用jquery显示/隐藏html ul
- 如果下一个ul是隐藏的,想要显示下一个ul
- 当在 Ul 上使用向上/向下箭头到达溢出自动项目的顶部/底部时显示隐藏的项目
- UL LI点击正在隐藏UL
- 在jquery中隐藏ul-li输入文本
- 单击时隐藏子导航UL
- 当父级溢出隐藏时,绝对定位UL
- 如果选中,则显示/隐藏UL子项
- 在响应网站中显示/隐藏移动设备的ul
- 制作一些'李'在ul可见和隐藏他人
- 加载时隐藏ul元素,点击时显示
- 显示/隐藏ul中的li元素
- 隐藏包含ul + print的子td的tr
- 获取ul的值到不隐藏的变量中
- 隐藏ul之前李的点击事件
- 使用JavaScript在按钮单击时隐藏ul,其中值也在按钮单击时插入到MySQL中