复选框全选(二) 使用ID实现全选

function selectAll(bool)
        {
            for(var i = 0;i < document.all.tags("INPUT").length;i++)
            {
                if(document.all.tags("INPUT")[i].type == "checkbox" 
                    && document.all.tags("INPUT")[i].id != "")
                {
                    var strobj = document.all.tags("INPUT")[i].name;
                    
                    if(strobj.substring(strobj.length - ('$cbk').length) =='$cbk' )
                        document.all.tags("INPUT")[i].checked = bool;
                }
            }
        }

调用一:

TemplateColumn col0 = new TemplateColumn();
        col0.HeaderText = "<input type='checkbox' onmouseup='selectlist(!this.checked)' />全选";
        col0.ItemTemplate = new UpDateEmpSalaryCBKTemplate();
        col0.ItemStyle.CssClass = "underline";
        dgList.Columns.Add(col0);

调用二:
<asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" 
                EnableModelValidation="True" onrowdatabound="GridView1_RowDataBound">
                <Columns>
                     <asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="30" HeaderStyle-Width="30">
                       <ItemTemplate>
                           <asp:CheckBox ID="chkContractID" runat="server" CssClass='ID$<%# DataBinder.Eval(Container.DataItem,"ContractID") %>' />
                       </ItemTemplate>
                       <HeaderTemplate>
                           <asp:CheckBox runat="server" onclick="selectAll(this.checked)" /> //这里用服务器控件,全选的控件 选中的状态不会丢失
                       </HeaderTemplate>
                   </asp:TemplateField>
                    <asp:HyperLinkField HeaderText="合同编号" DataTextField="ContractCode" DataNavigateUrlFields="ContractID" DataNavigateUrlFormatString="FrmEdit.aspx?S_ID={0}&CMD=Look" /> 
                    <asp:BoundField HeaderText="合同金额" DataField="ServiceAmount" 
                        DataFormatString="¥{0}"/>
                    <asp:BoundField HeaderText="签订日期" DataField="ContractDatetime" DataFormatString="{0:yyyy/MM/dd}"/>
                    <asp:BoundField HeaderText="业务员" DataField="CreateByName"/>
                    <asp:BoundField HeaderText="合同开始时间" DataField="ContractStartTime" DataFormatString="{0:yyyy/MM/dd}"/>
                    <asp:BoundField HeaderText="合同结束时间" DataField="ContractEndTime" DataFormatString="{0:yyyy/MM/dd}"/>
                    <asp:BoundField HeaderText="合同状态" DataField="ContractStatusID"/>
                    <asp:BoundField HeaderText="是否审核" DataField="IsValid"/>
                </Columns>
            </asp:GridView>

<script type="text/javascript" language="javascript">
            function selectAll(bool) {
                for (var i = 0; i < document.all.tags("INPUT").length; i++) {
                    if (document.all.tags("INPUT")[i].type == "checkbox"
                    && document.all.tags("INPUT")[i].id != "") {
                        var strobj = document.all.tags("INPUT")[i].name;

                        if (strobj.substring(strobj.length - ('$chkContractID').length) == '$chkContractID')
                            document.all.tags("INPUT")[i].checked = bool;
                    }
                }
            }
        </script>

 

posted @ 2012-08-28 22:58  xust  阅读(588)  评论(0编辑  收藏  举报