如果选中,则显示/隐藏UL子项

Show/Hide UL child if checked

本文关键字:隐藏 UL 子项 显示 如果      更新时间:2023-09-26

我试图在单击父项时显示/隐藏一些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 &amp; 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 &amp; 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 &amp; 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/