zoukankan      html  css  js  c++  java
  • GridView与javascript、checkbox

    a.aspx      

          <asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="False">
                    <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <input name="chk" type="checkbox" value="<%#Eval("ID")%>" />
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:BoundField DataField="ID" HeaderText="ID" />
                        <asp:BoundField DataField="Title" HeaderText="Title" />
                    </Columns>
                </asp:GridView>
                <p>
                    已选择的项:<input type="text" size="60" id="checked" /></p>
                <p>
                    要选择的项:<input type="text" size="60" id="checking" /><input type="button" value="选择"
                        onclick="CheckT()" />

               </p>

    <script type="text/javascript"> 
      
        //先获取到所有的checkbox再说
        var chkList=document.getElementsByName("chk");

       //页面完全载入后,在window对象上触发的onload事件,可以在body上分配
        window.onload=function()
        {
             //为所有checkbox添加onclick事件处理,以自动更新“已选择的项”
             for(var i=0;i<chkList.length;i++)
             {
                chkList[i].onclick=chkClick;
             }
        };
        //checkbox的onclick事件,用于更新“已选择的项"
        function chkClick()
        {
            var checkedList="";
            //获取所有被选中的项
            for(var i=0;i<chkList.length;i++)
            {
                if(chkList[i].checked)
                    checkedList+=chkList[i].value+",";
            }
            //把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号
            document.getElementById("checked").value=checkedList.substring(0,checkedList.length-1);
        };
         //根据在“要选择的项”中的输入选中相应的项
         function CheckT()
         {
            var checkingList=document.getElementById("checking").value;
            //没有输入就直接返回
            if(checkingList.length==0)
            {return;}
            //获取所有想要选择项的ID
            var checkingIds=checkingList.split(",");
            for(var j=0;j<chkList.length;j++)
            {
                for(var i=0;i<checkingIds.length;i++)
                {
                    if(checkingIds[i]==chkList[j].value)
                    {
                        chkList[j].checked=true;
                        break;
                    }
                    else
                    {
                        chkList[j].checked=false;
                    }
                }
            }
         };
        </script>

    a.aspx.cs

     //生成DataTable并添加相应的列 
     DataTable dt = new DataTable();
     dt.Columns.Add("ID");          
     dt.Columns.Add("Title");    
     //测试数据填充     
     dt.Rows.Add(1, "1111");
     dt.Rows.Add(2, "2222");
     dt.Rows.Add(3, "3333");
     dt.Rows.Add(4, "4444");
     //将DataTable绑定到GridView    
     GridView1.DataSource = dt;  
     GridView1.DataBind();
    ------------

    注:以上参考了网络文章

  • 相关阅读:
    错误日志记录代码
    将数组转换成datatable
    C#类头注释
    判断当前页面是否接收到了Get或者Post请求
    HttpRequestUtil类
    WeChatUtil类
    返回上一页
    更改同步异步
    限制只能输入数字
    判断浏览器及版本
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/1365945.html
Copyright © 2011-2022 走看看