无法获取checkbox.checked属性

时间:2011-02-08 20:53:30

标签: jquery asp.net checkbox

我有一些ASP.Net代码,它定义了一个服务器端复选框,如下所示:

<asp:CheckBox ID="_chkWindAndHail" runat="server" Text="Wind / Hail Deductible" TextAlign="Right" Checked="true" onClick="onControlChanged()" />

然后在客户端事件处理程序中,我有一些看起来像这样的Javascript:

var chkWind = $("#<%= _chkWindAndHail.ClientID %>");
var hdnWind = $("#<%= _hdnWindAndHailPremium.ClientID %>");
var txtWind = $("#<%= _txtWindAndHailPremium.ClientID %>");
if (chkWind.checked)
    txtWind.val(hdnWind.val);
else
    txtWind.val(0);

当我尝试查看文本框的“checked”属性的值时,Firebug说复选框对象是好的,但“checked”属性出现“未定义”,因此在代码中它永远不会设置正确的值。

有人可以向我解释我做错了什么吗?我是JQuery的新手,所以这可能是非常基础的东西。

3 个答案:

答案 0 :(得分:3)

尝试

.is(':checked'); 

.attr('checked'); 

两者都应该带回你想要的结果。

答案 1 :(得分:1)

最快的方法是获取checked属性,但您需要从存储在jQuery对象中的DOM元素本身执行此操作。

chkWind[0].checked;

这将检索索引0处的DOM元素,并为您提供checked属性。你试图从jQuery对象而不是元素中获取它。

答案 2 :(得分:0)

尝试使用chkWind.attr('checked')来访问该属性。值返回true / false。