如果未在jquery中选中复选框,请禁用提交按钮

时间:2012-04-13 01:09:15

标签: jquery forms checkbox checked

我已经看过这里,并尝试了每一个答案,但它仍然不适合我。如果未选中复选框,我正在尝试禁用提交按钮。这是我的jquery:

var userTerms = $('input#agree');
     if(userTerms.is(':checked')) {
        $("#aggtxt").addClass("err");
        $("#aggtxt").removeClass("error");
        $("#aggtxt").text(" Agreed");
        $("#bookit").attr('disabled', false);
        }else{
        $("#aggtxt").removeClass("err");
        $("#aggtxt").addClass("error");
        $("#aggtxt").text(" Please check terms and conditions box");
        $("#bookit").attr('disabled', true);
        }

         if ($('#bookit').is(':disabled') == true) { 
            $("#booktxt").removeClass("err");
            $("#booktxt").addClass("error");
            $("#booktxt").text(" Before you can submit this form please check the errors in form marked in red.");
            }else{
                $("#booktxt").addClass("err");
                $("#booktxt").removeClass("error");
                $("#booktxt").text(" Your information looks good, continue to booking...");
                }   
});

和我的HTML表单的一部分:

<p><span id="aggtxt"></span><br /><input type="checkbox" name="agree" id="agree" />  I agree to <a href="http://travel.ian.com/index.jsp?pageName=userAgreement&locale=en_US&cid=379849" target="_blank">Terms and Conditions</a> and understand Cancellation Policy.<p>
<span id="booktxt"></span>
<input type="submit" name="bookit" value="" class="bookit" id="bookit" />

3 个答案:

答案 0 :(得分:8)

我对此的看法:

http://jsfiddle.net/bluz/peans/

希望这会有所帮助:) 帕兹。

答案 1 :(得分:2)

试试这个:

$("#bookit").attr('disabled', 'disabled');

我试过了:

<input type="checkbox" name="agree" id="agree" onclick="$('#bookit').attr('disabled', !$(this).is(':checked'));" />
    I agree to <a href="http://travel.ian.com/index.jsp?pageName=userAgreement&locale=en_US&cid=379849" target="_blank">Terms and Conditions</a> and understand Cancellation Policy.<p>

如果您取消选中该复选框,它会禁用该按钮。

答案 2 :(得分:0)

试试这个:

if($('#agree').val() == 'true')

有关jQuery documentation的更多信息。

<强>校正

is(':checked')方法仅在选中收音机/复选框时返回。