我试图查看是否使用is()
方法检查了一个复选框,但它给出了意外的结果。无论哪种方式,如果我勾选复选框,该方法返回false。
HTML
<form action="" method="post" id="place_order">
<input type="checkbox" name="tos" class="required check-condition" />
<span class="error error-tos" style="display:none">* This field is required</span><br>
<input type="submit" name="place_order" value="Submit Order" class="order-sb-btn" />
</form>
Jquery的
$("#place_order").submit(function () {
var is_tos_checked = $(".check-condition").is('checked');
console.log(is_tos_checked);
if (is_tos_checked) {
$(".error-tos").hide();
return true;
} else {
$(".error-tos").show();
return false;
}
});
的jsfiddle
答案 0 :(得分:5)
您需要将checked表示为伪选择器,即前缀为:
.is(':checked');
答案 1 :(得分:1)
我通常使用.prop('checked')
因此,在您的代码中,您可以将您的行更改为:
var is_tos_checked = $(".check-condition").prop('checked');
答案 2 :(得分:0)
如果要在用户选中时提交表单复选框,则还可以使用以下方法 -
1.在html文件中写下以下语句
<form action="" method="post" id="place_order">
<input type="checkbox" name="tos" class="required check-condition" />
<span class="error error-tos" style="display:none">* This field is required</span><br>
<input type="submit" name="place_order" value="Submit Order" class="order-sb-btn" />
</form>
2.在js文件中写下以下语句。
jQuery('.order-sb-btn').click(function(){
var checkedValue = $('.required:checked').val();
if(checkedValue == undefined)
{
alert('not checked');
return false;
}
else
{
alert('checked');
}
})
如果用户选中复选框,则使用上述代码表单将被提交。 要查看示例,请参阅以下链接 -