两组复选框,如果第一个被检查第二个不能

时间:2015-09-14 12:07:15

标签: javascript html checkbox

我有两个"小组"复选框(虽然第一组只包含一个复选框),但如果用户选中第一组的复选框,我想限制检查第二组复选框的能力......

<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>

2 个答案:

答案 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。