注册 登录
编程论坛 ASP.NET技术论坛

关于js遍历Datagrid模版列里的checkbox

coolfaith 发布于 2007-12-17 12:20, 1890 次点击
我想写JS实现下面功能
一个Datagrid里有checkbox模版列
选择里面的几条记录
用JS遍历checkbox,
将选中的该chekcbox行里的ID循环加入到Array中

然后循环读取Array里面的值,传值打开新的窗口
怎么写,请各位指教
2 回复
#2
coolfaith2007-12-17 15:05
没人帮忙看下吗??
#3
哭泣的狼2007-12-17 15:56
DataGrid控件:

  <Columns>
        <asp:TemplateColumn>
         <HeaderStyle Width="10px"></HeaderStyle>
         <HeaderTemplate>
          <INPUT id="CheckAll" name="CheckAll" type="checkbox" onclick="ChooseAll()">
         </HeaderTemplate>
         <ItemTemplate>
          <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:TemplateColumn HeaderText="序号">
         <HeaderStyle Wrap="False"></HeaderStyle>
         <ItemTemplate>
          <asp:Label runat="server" ID="labNO"></asp:Label>
         </ItemTemplate>
        </asp:TemplateColumn>

 

JavaScript函数:

  var checkFlag = true;
    function ChooseAll()
    {
       //if( !document.all("CheckAll").Checked ) // 全选 
       if( checkFlag ) // 全选 
      {
          var inputs = document.all.tags("INPUT");
          for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
          {
            if (inputs[i].type == "checkbox" && inputs[i].id != "CheckAll" )
             {
                inputs[i].checked = true;
             }     
          }
          checkFlag = false;
       }
       else  // 取消全选
       {
          var inputs = document.all.tags("INPUT");
          for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
          {
             if (inputs[i].type == "checkbox" && inputs[i].id != "CheckAll" )
             {
                inputs[i].checked = false;
             }     
          }
          checkFlag = true;
       }
    }

    // <summary>
    // 让用户加以确认删除数据。
    // </summary>
    function DelRec()
    {
       var inputs = document.all.tags("input");
       var selectedLen = 0;
       for( var i=0;i < inputs.length; i ++)
       {
          if(inputs[i].type == "checkbox")
          {
             if( inputs[i].checked )
             {
                if(inputs[i].id != "CheckAll")
                {
                   selectedLen ++;
                }
             }
          }
       }
       if( selectedLen == 0 )
       {
          alert("请先选择您要删除的数据!");
       }
       else
       {
          var flag = confirm("您确定要删除所选择的这 " + selectedLen + " 条数据吗?");
          if(flag)
          {
             document.all("BtnDelRecord").click();  
          }
       }
    }
1