现在的位置: 首页 > 综合 > 正文

GridView中CheckBox选择数目的js验证

2014年02月07日 ⁄ 综合 ⁄ 共 2361字 ⁄ 字号 评论关闭

前端asp.net页面代码:

<div style="text-align:right;">
    <asp:Button ID="btnAdd" runat="server" Text="添加" onclick="btnAdd_Click" />
    <asp:Button ID="btnChange" runat="server" onclick="Button1_Click" Text="修改" OnClientClick="return changeMsg(GVUserList)" />
    <asp:Button ID="btnDelete" runat="server" Text="删除" onclick="btnDelete_Click" OnClientClick="return deleteMsg(GVUserList)"  />
    </div>
<asp:GridView ID="GVUserList" runat="server" AutoGenerateColumns="False" 
        BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" 
        CellPadding="2" DataKeyNames="UserId" ForeColor="Black" GridLines="None" 
        Width="100%">
    <AlternatingRowStyle BackColor="PaleGoldenrod" />
    <Columns>
        <asp:TemplateField HeaderText="编号">
            <EditItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" />
            </EditItemTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="ItemCheckBox" runat="server" />
            </ItemTemplate>
            <HeaderStyle Height="30px" HorizontalAlign="Left" />
        </asp:TemplateField>
        <asp:BoundField DataField="UserName" HeaderText="用户名">
        <HeaderStyle Height="30px" HorizontalAlign="Left" />
        <ItemStyle Height="20px" />
        </asp:BoundField>
        <asp:BoundField DataField="UserRealName" HeaderText="姓名">
        <HeaderStyle Height="30px" HorizontalAlign="Left" />
        <ItemStyle Height="20px" />
        </asp:BoundField>
        <asp:BoundField DataField="Email" HeaderText="邮箱">
        <HeaderStyle Height="30px" HorizontalAlign="Left" />
        <ItemStyle Height="20px" />
        </asp:BoundField>
        <asp:BoundField DataField="Phone" HeaderText="电话">
        <HeaderStyle Height="30px" HorizontalAlign="Left" />
        <ItemStyle Height="20px" />
        </asp:BoundField>
    </Columns>
    <FooterStyle BackColor="Tan" />
    <HeaderStyle BackColor="Tan" Font-Bold="True" />
    <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" 
        HorizontalAlign="Center" />
    <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
    <SortedAscendingCellStyle BackColor="#FAFAE7" />
    <SortedAscendingHeaderStyle BackColor="#DAC09E" />
    <SortedDescendingCellStyle BackColor="#E1DB9C" />
    <SortedDescendingHeaderStyle BackColor="#C2A47B" />
</asp:GridView>

javascript 的处理脚本如下:

 

function changeMsg(gv) {
    var len = gv.rows.length;
    var s = 0;
    for (var i = 1; i < len; i++) {
        if (gv.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked) {
            s++;
        }
    }
    if (s == 0) {
        alert("请选择!");
        return false;
    }
    if (s > 1) {
        alert("只能选择一个!");
        return false;
    }
}
function deleteMsg(gv) {
    var len = gv.rows.length;
    var s = 0;
    for (var i = 1; i < len; i++) {
        if (gv.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked) {
            s++;
        }
    }
    if (s == 0) {
        alert("请选择!");
        return false;
    }
    if (confirm('确定要删除吗?'))
        return true;
    else
        return false;
}

抱歉!评论已关闭.