Asp.net mvc 3 复选框值始终为true

Asp.net mvc 3 复选框值始终为true,asp.net-mvc-3,checkbox,Asp.net Mvc 3,Checkbox,在我的mvc应用程序中,我有一个复选框。但我不知道为什么它的价值总是正确的。请帮忙 我的查看页面 <div id="maindiv"> <%: Html.CheckBoxFor(m => m.status)%> <%: Html.LabelFor(m => m.status)%> </div> m、 状态)%> m、 状态)%> 这里的脚本是我如何始终得到真值的 <script type="text/javascript"&

在我的mvc应用程序中,我有一个复选框。但我不知道为什么它的价值总是正确的。请帮忙

我的查看页面

<div id="maindiv">
<%: Html.CheckBoxFor(m => m.status)%>
<%: Html.LabelFor(m => m.status)%>
</div>

m、 状态)%>
m、 状态)%>
这里的脚本是我如何始终得到真值的

<script type="text/javascript">
   $('#status').change(function () {
       alert(" active " + $('#status').val());
   });
</script>

$('#status')。更改(函数(){
警报(“活动”+$('#状态').val());
});
改用:

var status = ( $("#status").attr("checked") ? 'checked' : 'unchecked' );
alert(" active " + status);
说明:
您正在读取复选框的值,该值始终为true,您需要检查其
checked属性是选中还是未选中。
我使用了三元运算符来检查它是否被选中
您也可以使用
$(“#status”)。是(“:checked”)
,但速度较慢。

使用:

var status = ( $("#status").attr("checked") ? 'checked' : 'unchecked' );
alert(" active " + status);
$('#status').change(function () {
   alert(" active " + this.checked);
});
说明:
您正在读取复选框的值,该值始终为true,您需要检查其
checked属性是选中还是未选中。
我使用了三元运算符来检查它是否被选中

您也可以使用
$(“#status”)。is(“:checked”)
,但速度较慢。

thnx以获取解释。:)thnx用于解释。:)
$('#status').change(function () {
   alert(" active " + this.checked);
});