【问题标题】:asp.net Jquery checkall/uncheck all checkboxesasp.net Jquery 选中/取消选中所有复选框
【发布时间】:2013-10-10 08:42:44
【问题描述】:

我有一个链接按钮(如下)名称“插入?”,它触发 Jquery 检查我的 DataList1 中的所有复选框。到目前为止它有效。

但我喜欢单击同一个 LinkBut​​ton,它会取消选中之前选中的所有复选框。基本上,它会在 checkall 和 uncheck all 之间切换。

<asp:LinkButton ID="ENameLinkBtn" runat="server"  OnClientClick="javascript:SelectAllCheckboxes1(this)" >Insert?</asp:LinkButton>

仅适用于 checkAll,但不能 uncheckAll 的 Jquery

<script type="text/javascript">
    function SelectAllCheckboxes1(chk) {
        $('#<%=DataList1.ClientID%>').find("input:checkbox").each(function () {
            //alert(this.id);
            this.checked = true; 
        });
    }
</script>

请帮忙。 谢谢,

【问题讨论】:

    标签: jquery


    【解决方案1】:

    既然是链接,那你可以做的是

    function SelectAllCheckboxes1(chk) {
        var $checks = $('#<%=DataList1.ClientID%>').find("input:checkbox");
        $checks.prop('checked', $checks.not(':checked').length != 0);
    }
    

    演示:Fiddle

    【讨论】:

    • 我试过这段代码,但是当我检查“插入”链接按钮时它不起作用,也许我做错了什么。
    • @milacay 这是一个错误...我在想全选是一个复选框...未修复...
    • 如果你不介意的话,你能解释一下这个说法以便我理解吗? “$checks.prop('checked', $checks.not(':checked').length != 0);” .谢谢
    • @milacay .prop() 方法用于设置复选框的选中属性,其中第二个参数表示是否必须选中,$checks.not(':checked').length != 0 表示是否有 1 个未选中元素然后将所有标记为已选中,否则将所有未选中
    【解决方案2】:

    考虑到您的问题中有一个 jQuery 标记,我假设您可以在单击 ID 元素时使用此命令。您不需要任何 ASP.NET 服务器端操作。

    http://jsfiddle.net/879Pv/1/

    $("#ENameLinkBtn").click(function(){
       $(document.body).find(':checked').each(function() {
          $(this).removeAttr('checked');
       });
    });
    

    【讨论】:

    • 感谢您的回复。我看到了你的例子,但是当我点击同一个链接按钮(插入)时,它们是一种切换 checkall 和 uncheckAll 的方法吗?另外,如上所述,检查 DataList 中的所有复选框?
    猜你喜欢
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2017-04-22
    • 2012-02-02
    • 2011-06-15
    • 2014-06-29
    相关资源
    最近更新 更多