虽然选中了复选框,但该函数始终返回false。我真的无法打击我做错了什么。我正在使用复选框来启用和禁用gridview中的文本框。但是,它似乎不起作用。谢谢您的帮助。我在下面发布了html和jq代码。
HTML code:
<asp:GridView ID="grdFees" runat="server" AllowPaging="false" CssClass="Grid" AutoGenerateColumns="false" EmptyDataText="No Data Found" EmptyDataRowStyle-HorizontalAlign="Center" EmptyDataRowStyle-CssClass="gridItem" TabIndex="5">
<Columns>
<asp:TemplateField HeaderText="Select" HeaderStyle-HorizontalAlign="center"
ItemStyle-HorizontalAlign="center" ItemStyle-Width="2%">
<ItemTemplate>
<asp:CheckBox ID="chkselect" runat="server" CssClass="checkbox"
Width="15px" Checked="false" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Jquery代码:
$(document).ready(function()
{
$(".checkbox").click(function()
{
if ($(this).is(":checked"))
{
alert("true");
}else
{
alert("false");
}
});
答案 0 :(得分:11)
ASP.NET可能不会将CssClass
的值应用于复选框本身,而是应用于生成的标签和/或容器元素。
请尝试使用:checkbox选择器:
$(document).ready(function() {
$("input:checkbox").click(function() {
if ($(this).is(":checked")) {
alert("true");
} else {
alert("false");
}
});
});
答案 1 :(得分:2)
由于Grid没有将类应用于复选框,您可以执行类似这样的操作。
$(document).ready(function() {
$(".checkbox :checkbox").click(function(){
if (this.checked) {
alert("true");
} else {
alert("false");
}
});
});
答案 2 :(得分:0)
$(document).ready(function() {
$("#chkselect").click(function(){
if (this.checked) { // can also use $(this).is(':checked') as you do
alert("true");
} else {
alert("false");
}
}); // you code miss "});" here
});
您也可以使用选择器
$(':input:checkbox')
或$('input:checkbox')