这里我有checkboxes
的数目,其结构类似于父级和子级。在这里我只能基于父级选中一个复选框,假设Parent1
我在检查时再次检查了Child11
Child12
,Child11
应该像单选按钮一样取消选中。
Parent2
同样应该发生同样的事情,但是如果我check/uncheck
中的任何孩子Parent2
,parent1
的孩子都不应受到干扰。
任何人都可以帮助我,这是下面的代码
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<div class="details">
<ul>
<li>Parent1</li>
<li>
<ul>
<li><input type="checkbox"><span>Child11</span></li>
<li><input type="checkbox"><span>Child12</span></li>
</ul>
</li>
</ul>
<ul>
<li>Parent2</li>
<li>
<ul>
<li><input type="checkbox"><span>Child21</span></li>
<li><input type="checkbox"><span>Child22</span></li>
<li><input type="checkbox"><span>Child23</span></li>
</ul>
</li>
</ul>
</div>
ul li{
list-style-type:none;
}
答案 0 :(得分:0)
$(".p1chb").change(function()
{
$(".p1chb").prop('checked',false);
$(this).prop('checked',true);
});
///above for parent 1, below for parent 2.
$(".p2chb").change(function()
{
$(".p2chb").prop('checked',false);
$(this).prop('checked',true);
});
ul li{
list-style-type:none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<div class="details">
<ul>
<li>Parent1</li>
<li>
<ul>
<li><input type="checkbox" id="Child11" name="Parent1" value="Child11" class="p1chb"
checked>
<label for="Child11">Child11</li>
<li><input type="checkbox" id="Child12" name="Parent1" value="Child12" class="p1chb"
unchecked>
<label for="Child12">Child12</label></li>
</ul>
</li>
</ul>
<ul>
<li>Parent2</li>
<li>
<ul>
<li><input type="checkbox" id="Child21" name="Parent2" value="Child21" class="p2chb"
checked>
<label for="Child21">Child21</label></li>
<li><input type="checkbox" id="Child22" name="Parent2" value="Child22" class="p2chb"
unchecked>
<label for="Child21">Child22</label></li>
<li><input type="checkbox" id="Child23" name="Parent2" value="Child23" class="p2chb"
unchecked>
<label for="Child23">Child23</label></li>
</ul>
</li>
</ul>
</div>
<div>