如何检查此示例中是否选中了复选框(javascript / jQuery。)

时间:2011-12-05 19:59:57

标签: javascript jquery html checkbox

我需要检查是否选中了复选框才能显示错误消息。到目前为止,我认为这应该工作(如果没有检查,它应该是空的,我想)。

CODE          

<span id="sc_info" style="float: right; padding-right: 5px;">

<input type="checkbox" name="terms" id="sc_terms" value="" checked="checked" />

<br /><label class="error" for="body" id="terms_error">This field is required.</label>
</form>

<script>
$(document).ready(function() {
    //Story Form
    $('.error').hide();  
    $(".button").click(function() {

    $('.error').hide();  
    var terms = $("input#sc_terms").val();  
    if (terms == "") {  //if is not checked
    $("label#terms_error").show();  //show error message
    $("input#sc_terms").focus(); //focus on an empty element
    return false;  
}  
});  
});
</script>

但是这段代码不起作用。任何人都可以建议如何检查是否选中了复选框?

2 个答案:

答案 0 :(得分:4)

使用jQuery&#39; :checked选择器:

if ($('#sc_terms').is(':checked')) {
    // Checkbox is checked, do stuff
}
else {
    // Checkbox is not checked, do stuff
    $("label#terms_error").show();  //show error message
    $("input#sc_terms").focus();
}

如果您只是想查看它是否未经过检查:

if ($('#sc_terms:not(:checked)')) {
        // Checkbox is checked, do stuff
        $("label#terms_error").show();  //show error message
        $("input#sc_terms").focus();
 }

注意:由于您使用的是ID选择器,因此无需在inputlabel前面添加选择器。

答案 1 :(得分:2)

类似的东西:

if( $("input#sc_terms").is(":checked") )
     // is checked

未检查:

if( $("input#sc_terms").is(":not(:checked)") )
     // not checked