asp.net +Jquery 全选与反选,客户端控件与服务器控件写法

本文介绍如何使用jQuery实现复选框全选功能,并获取选中的复选框值,适用于HTML与服务器控件。

       复选框的全选以前也做过,这次写遇到的问题还不少,还是总结一下吧。

     首先要引用jquery包,注意这里不要加language="javascript" ,加上是错误的,调试半天才找到原因,加上后出现语法错误

   <script src="../Scripts/jquery-1.7.2.js" type="text/javascript"></script>

  <script type="text/javascript" language="javascript" >
        //设置全选与反选
        $(function() {
            //html控件写法,没有runat="server"
            $("#iteamAll").click(function() {
                $("input[name=cb_Item]").attr("checked", this.checked);
            });     

       //服务器控件写法,有runat="server"

            $("#iteamAll").click(function() {
                if ($(this).attr("checked"))

                    $("#gvMoniProject input[type=checkbox]").attr("checked", true);
                else
                    $("#gvMoniProject input[type=checkbox]").attr("checked", false);

            });

       //设置默认选中的值
            var defValue = $("input[id*=hdDefIDS]").val().split(/[,,]/g);
            $.each(defValue, function(index, item) {
            $("input[name='cb_Item']").each(function() {
                    if ($(this).val() == item) {
                        $(this).attr("checked", true);
                    }
                });
            });

        });

    //获取选中checkbox的值
        function GetSelValue() {
            var array1 = $("input[type=checkbox]:checked");
            var array2 = [];
            $.each(array1, function(key1, item1) {
                array2[key1] = $(this).val();
            });
            $("#hdIDS").val(array2.toString());
        }

 </script>

 <body>
    <form id="form1" runat="server">

 <input id="hdIDS" name="hdIDS" type="hidden" />
    <div>
  <asp:GridView ID="gvMoniProject" runat="server" AutoGenerateColumns="False" CellPadding="4"
            ForeColor="#333333" GridLines="None">
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <Columns>
                <asp:BoundField DataField="ItemCode" HeaderText="代码" />
                <asp:BoundField DataField="ItemName" HeaderText="名称" />
                <asp:TemplateField>
                    <ItemTemplate>
                    <%--  <asp:CheckBox name="cb_Item" runat="server" />--%>
                        <input name="cb_Item" type="checkbox" value='<%# Eval("ID") %>' />
                    </ItemTemplate>
                    <HeaderTemplate>
                        <input type="checkbox" id="iteamAll" />显示
                    </HeaderTemplate>
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#999999" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>
 </div>
    </form>
</body>

  这里需要注意的是,给某一个控件添加事件时,是根据控件的id添加的,取控件的值时,是根据name获取的,个人深有体会

  在这里,我是用的html控件,把选中的checkbox的值赋给隐藏域,在后台进行处理的

  后台获取方法: string ids = Request.Form["hdIDS"];

   希望对需要的人有所帮助!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值