我有两个"小组"复选框(虽然第一组只包含一个复选框),但如果用户选中第一组的复选框,我想限制检查第二组复选框的能力......
<div>
<h3>First group</h3>
<label>
<input type="checkbox" value="1" name="group1" />If checked, checks all the checkboxes in 2nd group</label>
<label>
</div>
<div>
<h3>Second Group</h3>
<label>
<input type="checkbox" class="radio" value="1" name="group2" />1</label>
<label>
<input type="checkbox" class="radio" value="1" name="group2" />1</label>
</div>
答案 0 :(得分:1)
<div>
<h3>First group</h3>
<label>
<input type="checkbox" value="1" name="group1" id='Grp1'/>If checked, checks all the checkboxes in 2nd group</label>
<label>
</div>
<div>
<h3>Second Group</h3>
<label>
<input type="checkbox" class="radio Grp2" value="1" name="group2" />1</label>
<label>
<input type="checkbox" class="radio Grp2" value="1" name="group2" />1</label>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$('#Grp1').change(function() {
if($(this).is(":checked"))
{
$('.Grp2').prop('disabled', true);
}
else
{
$('.Grp2').prop('disabled', false);
}
});
</script>
答案 1 :(得分:0)
我使用了一个简单的jQuery脚本来解决它。 最初它并没有完全按照我的意愿去做,但是我已经设法用PHP来解决它,因为我必须确保如果有人检查了第二组的复选框,它没有进入数据库
$('#checkbox1').click(function() {
if( $(this).is(':checked')) {
$("#checkbox2").hide();
} else {
$("#checksbox2").show();
}
});
至于php我只是使用了一个三元运算符来确保如果选中了复选框id为复选框1,那么我想忽略其余的复选框......
$smnrs = !empty($_POST['all']) ? explode(';', $_POST['all']) : $_POST['seminars'];
在这种情况下,$ _POST ['all']指的是第一个复选框,如果点击它会隐藏包含其他复选框的div。