4

checkboxFor 为复选框呈现以下内容:

<input id="IsCredit" name="IsCredit" type="checkbox" value="true" />
<input name="IsCredit" type="hidden" value="false" />

在 JavaScript 中,

$('#IsCredit').val();

总是如此。打勾还是不打勾

如何确定复选框是否已在 Javascript 中勾选?

4

3 回答 3

14

你可以检查它的checked属性。使用 jQuery:

var isChecked = $('#IsCredit').prop("checked");

或者使用原生 DOM 方法:

var isChecked = document.getElementById("IsCredit").checked;
于 2012-09-28T10:22:26.060 回答
2

val返回表单元素的值,因为您的元素有一个true值,而不是val()返回true它的检查属性值,您可以使用prop读取checked复选框属性的方法或is方法。

if ( $('#IsCredit').is(':checked') {
    // ...
} 

或者:

var checked = $('#IsCredit').prop('checked');
于 2012-09-28T10:26:11.893 回答
0

$("#IsCredit").attr('checked')会告诉你是否检查过。您还可以使用第二个参数 true/false 来选中/取消选中复选框。

根据评论,使用prop而不是attr可用时。例如:

$("#IsCredit").prop('checked')
于 2012-09-28T10:52:44.383 回答