有没有可能用JS实现Datagrid  勾选checkbox 批量下载?

解决方案 »

  1.   

     <asp:TemplateColumn>
                    <HeaderStyle Wrap="False"></HeaderStyle>
                    <ItemStyle Wrap="False"></ItemStyle>
                    <HeaderTemplate>
                        <input id="Checkbox1" type="checkbox" onclick='selectAll()' />
                    </HeaderTemplate>
                    <ItemTemplate>
                    <input type='checkbox' id='ChkSelect' runat="server" value='<%#Eval("ID")%>' />
                    </ItemTemplate>
                </asp:TemplateColumn>
    JS
    <script type="text/javascript">
            function selectAll() {
                // 获得用户页面中的所有的 输入功能的控件getElementById("ChkSelect").
                var checkbox = document.getElementsByTagName("input");
                if (checkbox[0].checked == true) {
                    for (var i = 0; i < checkbox.length; i++)
                        checkbox[i].checked = false;
                }
                else {
                    for (var i = 0; i < checkbox.length; i++)
                        checkbox[i].checked = true;
                }
            }
        </script>
    CS
    下载按钮里面 DEMO
     string s = "";
    int num = 0;
            for (int i = 0; i < this.AnonalousGrid.Items.Count; i++)
            {
                //客户端
                HtmlInputCheckBox chb = (HtmlInputCheckBox)this.AnonalousGrid.Items[i].FindControl("ChkSelect");
                //CheckBox chb = (CheckBox)this.Repeater1.Items[i].FindControl("CheckBox2");  //服务器端            
    if (chb.Checked == true)
    {
    s = s + chb.Value;//chb.Text //服务器端
    num++;
    }
    else
    {
    num--;
    }
            }
            Response.Write(s);
    test.Text = num.ToString();
      

  2.   

    实现全选用下面的ckall即可,至于你批量下载不明白搞什么。。<input type="checkbox" onclick="ckall(this)" />全选<br />
    <input type="checkbox" value="1" />1<br />
    <input type="checkbox" value="2" />2<br />
    <input type="checkbox" value="3" />3<br />
    <input type="checkbox" value="4" />4
    <script>
        function ckall(cb) {
            var inputs = document.getElementsByTagName('input');
            for (var i = 0, j = inputs.length; i < j; i++)
                if (inputs[i].type == 'checkbox' && inputs[i] != cb) inputs[i].checked = cb.checked;
        }
    </script>