1 最近在做一个学习类的项目,通过绑定数据到Gridview中,然后勾选其模板列中的checkbox来执行对多行数据的操作,因为不是很熟悉,

在网上找了很久,发现很多都是对checkbox执行全选的代码,而我这里需要的是执行对checkbox 的部分选取(如图)。

2 下面提供我的思路和做法,希望和大家交流学习。

 首先是通过前台JavaScript获取勾选的checkbox的值,然后将值保存到隐藏域中,在服务器端取隐藏域的值,来进行相关的操作。

部分代码:

前台页面:

script type="text/javascript">

      // 获取所有checkbox
       var ckboxlst = document.getElementsByName("ckbox");

       function ckbInit() {
           //为所有checkbox添加onclick事件处理
           for (var i = 0; i < ckboxlst.length; i++) {
               ckboxlst[i].onclick = ckboxClick;
           }
       }
  
       //checkbox  onclick事件处理函数
       function ckboxClick() {
           //保存选中的值
           var result = "";
           for (var i = 0; i < ckboxlst.length; i++) {
               if (ckboxlst[i].checked) {
                   result += ckboxlst[i].value + ",";
               }
           }

          // 去掉最后一个逗号
           result = result.substring(0,result.length-1);
           //赋值给隐藏域
           document.getElementById("hid_RoleID").value = result;
         //  alert(document.getElementById("hid_RoleID").value);
       }

 </script>

在body中onload事件中调用ckbInit()

<body onload="ckbInit()">

后台页面中取隐藏域的值来执行其他的操作:

//获取隐藏域的值
string tempLst = this.hid_RoleID.Value;

然后执行其他需要的操作(暂略)

 

posted on 2010-07-21 10:22  Kv2019  阅读(1108)  评论(2编辑  收藏  举报