在这里,我有许多结构像父子的checkboxes
。这里我只能根据父级选中一个复选框,假设Parent1
我在选中Child12
时再次选中Child11
,Child11
应该取消选中类似于单选按钮。
同样的事情应该发生在Parent2
,但是如果我check/uncheck
Parent2
中的任何孩子,parent1
的孩子不应该被打扰。
任何人都可以帮我,这是下面的代码
.HTML
<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>
.CSS
ul li{
list-style-type:none;
}
$(".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>