JQuery 如何检查复选框是否被选中?

5
该函数始终返回false,即使复选框被选中。我真的无法找出我的错误所在。我正在使用复选框来启用和禁用网格视图中的文本框。然而,它似乎不起作用。感谢您的帮助。我已经在下面发布了HTML和JQ代码。
HTML代码:
<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");
        }
});
3个回答

13

ASP.NET 可能不会将 CssClass 的值应用于复选框本身,而是应用于生成的标签和/或容器元素。

尝试使用 :checkbox 选择器:

$(document).ready(function() {
    $("input:checkbox").click(function() {
        if ($(this).is(":checked")) {
            alert("true");
        } else {
            alert("false");
        }
    });
});

点赞,非常感谢。这让我烦恼了很久。我怎么在 HTML 检查中错过了这个,真是不可思议。 - Lukas
天啊!你刚刚为我结束了一堆令人头疼的问题。非常感谢你! - Jerry Benson-Montgomery

2
由于网格不会向复选框应用类,您可以像这样做一些事情。
$(document).ready(function() {
    $(".checkbox :checkbox").click(function(){
        if (this.checked) {
            alert("true");
        } else {
            alert("false");
        }
    }); 
});

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')


谢谢回复,但是还是不行。警告总是显示为false。 - Prince

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接