如题:
--------------------------------------------------------------------------------------------------------------
一段验证 Repeater里面的CheckBox是否选中的JS,当没选中时不能有其它操作,选中才能做其它操作,因为我想用Repeater做批量删除。求详解....

解决方案 »

  1.   

    if(!IsPostBack)
    BindData(); 
     
    foreach(RepeaterItem item in this.Repeater1.Items)
            {
                CheckBox cbx = item.FindControl("CheckBox1") as CheckBox;
                if (cbx != null)
                {
                    if (cbx.Checked)
                    {
                    }
                }
            }
      

  2.   


         function SetCheckBox()
                {
                    var chk;
                    var arr = $id("<%=gvPms.ClientID %>").getElementsByTagName("input");
                    for(var i=0;i<arr.length;i++)
                    {
                        if(arr[i].type == "checkbox")
                        {
                            if(i==0) chk = arr[i].checked;
                            arr[i].checked = !chk;
                        }
                    }
                }
      

  3.   

    <script type="text/javascript" language="javascript">
        //  获取选择的值,并赋值给服务器控件隐藏域
        function GetSelectedValue(){
            var idArray = "";
            $("input[name='chkItem']").each(function() {
                if ($(this).attr("checked") == true) {
                    idArray += $(this).val() + ";" ;
                }
            });
            if(idArray == "")
            {
                window.alert("选择数据为空!请选择数据");
                return false
            }
            $("#<%=hfItemIDArray.ClientID %>").val(idArray);
            return true;
        }
        jQuery(document).ready(function() {
                //  全选或者取消全选
                $("#checkedAll").click(function() {
                    if ($(this).attr("checked") == true) { // 全选
                        $("input[name='chkItem']").attr("checked", 'true');
                    }
                    else { // 取消全选
                        $("input[name='chkItem']").removeAttr("checked");
                    }
                });
                
                //  批量删除时获取选择的值
                $("#<%=btnBulkDelete.ClientID %>").click(function() {
                   if(GetSelectedValue()){
                       return confirm('您确认删除吗?');
                   }
                   else
                   {
                       return false;
                   }
                });
                
                $("input[name='chkItem']").click(function() {
                    var checkedAllChecked = true;
                    $("input[name='chkItem']").each(function() {
                        checkedAllChecked = $(this).attr("checked") && checkedAllChecked;
                    });
                    if (checkedAllChecked) {
                        $("#checkedAll").attr("checked", 'true');
                    }
                    else {
                        $("#checkedAll").removeAttr("checked");
                    }
                });
            });
    </script>
    <div id="content_right">
        <ul class="tool">
    <%--        <li>
                <asp:CheckBox ID="cbx" runat="server" />条件查询:
            </li>--%>
            <li>
                <span>输入搜索词:</span>
                <asp:TextBox ID="tbxSearchTargetValue" runat="server" CssClass="colorblue"></asp:TextBox>
            </li>
            <li>
                <span>选择搜索类型:</span>
                <asp:DropDownList ID="ddlSearchTargetType" runat="server">
                    <asp:ListItem Value="Author">作者</asp:ListItem>
                    <asp:ListItem Value="Title">标题</asp:ListItem>
                </asp:DropDownList>
            </li>
            <li>
                <span>选择显示条数:</span>
                <asp:DropDownList ID="ddlPageRecordCount" runat="server">
                    <asp:ListItem Value="10">10条</asp:ListItem>
                    <asp:ListItem Value="20">20条</asp:ListItem>
                    <asp:ListItem Value="40">40条</asp:ListItem>
                </asp:DropDownList>
            </li>
            <li class="button">
                <asp:ImageButton ID="btnQuery" runat="server" ImageUrl="~/images/query.gif" OnClick="btnQuery_Click" />
            </li>
        </ul>
        <ul class="tool">
            <li>
                <asp:CheckBox ID="cbxTimeLimit" runat="server" /><span>时间限制:</span>
            </li>
            <li>
                <span>开始时间:</span>
                <asp:TextBox ID="tbxTimeBegin" runat="server" CssClass="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"></asp:TextBox>
            </li>
            <li>
                <span>结束时间:</span>
                <asp:TextBox ID="tbxTimeEnd" runat="server" CssClass="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"></asp:TextBox>
            </li>
            <asp:HiddenField ID="hfItemIDArray" runat="server" />
            <li class="button">
                <asp:Button ID="btnAdd" runat="server" Text="新增" CssClass="sbutton" OnClick="btnAdd_Click" />
            </li>
            <li class="button">
                <asp:Button ID="btnBulkDelete" runat="server" CssClass="sbutton" Text="批量删除" OnClick="btnBulkDelete_Click" />
            </li>
        </ul>
    </div>
    <div id="setCenter">
        <ul>
            <li>
            <asp:Repeater ID="repEntryList" runat="server" OnItemDataBound="repEntryList_ItemDataBound" OnItemCommand="repEntryList_ItemCommand">
                <HeaderTemplate>
                    <table class="tableList">
                        <tr>
                            <th scope="col">
                                <input id="checkedAll" type="checkbox" /><span id="chk-label">全选</span>
                            </th>
                            <th scope="col">
                                标号</th>
                            <th scope="col">
                                标题</th>
                            <th scope="col">
                                添加人</th>
                            <th scope="col">
                                添加时间</th>
                            <th scope="col">
                                点击数</th>  
                            <th scope="col">
                                操作</th>
                        </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <input name="chkItem" type="checkbox" value="<%# Eval("ID") %>" />
                        </td>
                        <td>
                            <asp:Literal ID="ltlNo" runat="server"></asp:Literal>
                        </td>
                        <td class="tdleft">                        
                            <%#GetLink(Eval("Title").ToString(), Editpage + "?id=" + Eval("id"), "", "")%>
                        </td>
                        <td>
                            <%# Eval("Author")%>
                        </td>
                        <td>
                            <%# Eval("AddDate")%>
                        </td>
                        <td>
                            <%# Eval("HitCount")%>
                        </td>
                        <td>                        
                            <%#GetLink("编辑", Editpage + "?id=" + Eval("id"), "", "") %>
                            <asp:LinkButton ID="lbtnDel" runat="server" OnClientClick="return confirm('您确认删除吗?')" CommandName="Del" CommandArgument='<%# Eval("id") %>'>删除</asp:LinkButton>
                        </td>
                    </tr>
                </ItemTemplate>
                <AlternatingItemTemplate>
                    <tr class="tableList_Alter">
                        <td>
                            <input name="chkItem" type="checkbox" value="<%# Eval("ID") %>" />
                        </td>
                        <td>                        
                            <asp:Literal ID="ltlNo" runat="server"></asp:Literal>
                        </td>
                        <td class="tdleft">
                            <%#GetLink(Eval("Title").ToString(), Editpage + "?id=" + Eval("id"), "", "")%>
                        </td>
                        <td>
                            <%# Eval("Author")%>
                        </td>
                        <td>
                            <%# Eval("AddDate")%>
                        </td>
                        <td>
                            <%# Eval("HitCount")%>
                        </td>
                        <td>                        
                            <%#GetLink("编辑", Editpage + "?id=" + Eval("id"), "", "") %>
                            <asp:LinkButton ID="lbtnDel" runat="server"  OnClientClick="return confirm('您确认删除吗?')" CommandName="Del" CommandArgument='<%# Eval("id") %>'>删除</asp:LinkButton>
                        </td>
                    </tr>
                </AlternatingItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>
            </li>        
        </ul>       
    </div>
    <div id="AspNetPager">            
        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true" FirstPageText="首页"
            LastPageText="末页" NextPageText="下一页" PrevPageText="上一页" UrlPageIndexName="PageNo"
            UrlPaging="True">
        </webdiyer:AspNetPager>            
    </div>
    这是用jquery实现的批量删除,脚本获取选定值,然后放到服务器控件隐藏域中,后台代码获取id,批量删除
      

  4.   

    JS如下:
    //获取input所在的对象
        var ob = document.getElementById("Repeater1");//获取div中所用的IUPUT控件集合
        var col = div1.getElementsByTagName("INPUT");
        var str="";
        var count=0;
    //循环遍历,判断INPUT是否选中
        for(var i=0 ;i<col.length;i++)
        {
            if(col[i].checked==true)
            {
                count++;
            }
        }
        if(count>0)
        {
             
        }
       else
        {}