必填复选框

时间:2013-05-12 10:04:05

标签: jquery

我有一个小表格。在此表单中,如果选择项目项目b ,则应勾选第三个复选框。禁用此复选框,用户无法自行加厚。取消选中项目项目b 后,第三个必需项目应保持检查状态,但如果两个项目都未选中,则应取消选中所需项目。

<p><input type="checkbox" value="50.00" class="itema" />Item a</p>
<p><input type="checkbox" value="40.00" class="itemb" />Item b</p>
<p><input type="checkbox" value="1" class="item2" disabled />Required by item a and b</p>

使用下面的代码我得到了它的检查工作,但我不知道如何完成条件取消检查

$(function () {
    $('.itema').change(function () {
        $('.item2').prop('checked', true);
    })
    $('.itemb').change(function () {
        $('.item2').prop('checked', true);
    })
});

这是一个更多代码的小提琴 http://jsfiddle.net/mthomas/ejQjP/10/

2 个答案:

答案 0 :(得分:1)

我知道这不是100%为你完成的工作,但我认为这是你遇到问题的地方,所以我建议你从这里开始。

您想要检查更改功能

中复选框的状态
$('.item1').change(function () {
    var isChecked = $(this).is(':checked'); // will be true after checking and false when unchecking
    $('.item2').prop('checked', isChecked)
               .prop('disabled', isChecked)
               .change();
})

http://jsfiddle.net/ejQjP/17/

编辑您可能希望在新选中的复选框

上触发更改事件

PS:没有理由每个$(document).ready(function () {&amp; $(function () {可以合而为一。

答案 1 :(得分:0)

$(function () {
    $('.itema , itemb').change(function () {
           var  isChecked = $('.item2').is(':checked');
           var  isChecked1 = $('.item1').is(':checked');

           if(isChecked == true && isChecked1 == true)
            $('.item2').prop('disabled', true);

           else
            $('.item2').prop('disabled', false);

    })

});