我有一些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的新手,所以这可能是非常基础的东西。
答案 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。