[ASP.NET]Gridview chkbox 單選 全選記憶

如提


掛在gridview底下 做全選跟單選記憶
<asp:HiddenField ID="hfSelVal" runat="server" />
       <asp:GridView ID="gv" runat="server">

    <asp:TemplateField >
                        <HeaderTemplate>
                            <asp:CheckBox ID="chkAll" runat="server" onclick="chkRemAll(this)" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="chk" runat="server"  onclick="chkRem(this)" />
                        </ItemTemplate>
                       
                    </asp:TemplateField>
                    
                           </asp:GridView>

    //單選
        function chkRem(chk) {
          
            var arrayVal = [];
            if ($('#<%= hfSelVal.ClientID %>').val() != '') {
                arrayVal = $('#<%= hfSelVal.ClientID %>').val().split(','); //記憶的值
            }
            var chkVal = chk.parentNode.title; //勾選得值
            if (chkVal == "") return;

            if (chk.checked) { //是否勾選
                if (arrayVal.indexOf(chkVal) < 1) {   //如果不存在 => 新增   
                    arrayVal.push(chkVal);
                }
            } else {
                 arrayVal.splice(arrayVal.indexOf(chkVal), 1);  //未勾選 => 移除項目
            }

            var result = arrayVal.join(',');
            $('#<%= hfSelVal.ClientID %>').val(result);
        }
		
        //全選
        function chkRemAll(chk) {           
            var arrayVal = []; //目前勾選得值
            if ($('#<%= hfSelVal.ClientID %>').val() != '') {
              arrayVal = $('#<%= hfSelVal.ClientID %>').val().split(','); //記憶的值
            }

            var GridView = chk.parentNode.parentNode.parentNode;
            var inputList = GridView.getElementsByTagName("input");
            for (var i = 0; i < inputList.length; i++) {

                var chkVal = inputList[i].parentNode.title;
                if (chkVal == "") continue;

                if (chk.checked) { //是否勾選
                    if (arrayVal.indexOf(chkVal) < 1) {   //如果不存在 => 新增   
                        arrayVal.push(chkVal);
                        inputList[i].checked = true;
                    }
                } else {
                     arrayVal.splice(arrayVal.indexOf(chkVal), 1);  //未勾選 => 移除項目
                    inputList[i].checked = false;
                }
            }

            var result = arrayVal.join(','); //結果
            $('#<%= hfSelVal.ClientID %>').val(result);

        }

以上文章僅用紀錄資料使用.....