我需要检查是否选中了复选框才能显示错误消息。到目前为止,我认为这应该工作(如果没有检查,它应该是空的,我想)。
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>
但是这段代码不起作用。任何人都可以建议如何检查是否选中了复选框?
答案 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选择器,因此无需在input
或label
前面添加选择器。
答案 1 :(得分:2)
类似的东西:
if( $("input#sc_terms").is(":checked") )
// is checked
未检查:
if( $("input#sc_terms").is(":not(:checked)") )
// not checked