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 οnlοad="ckbInit()">
后台页面中取隐藏域的值来执行其他的操作:
//获取隐藏域的值
string tempLst = this.hid_RoleID.Value;
然后执行其他需要的操作(暂略)