关于gridview添加checkbox后,如何使用js添加单选事件,其实代码不是很难,不过当初也查了会资料,仅供记录,高手绕道哈。。aspx中格式如下:
<div> <table> <td><asp:GridView ID="HumIdNmGridView"> <Columns> <asp:TemplateField> <HeaderTemplate> <asp:Image ID="oImg" runat="server" ImageUrl="../../images/icon_sure.gif"> </asp:Image> //图标可以忽略 </HeaderTemplate> <ItemTemplate> <asp:CheckBox ID="chkSelected" runat="server" onclick="SingleCheck(‘HumIdNmGridView‘,this)"></asp:CheckBox> </ItemTemplate> </td> </table> </div>
下面是javascript:
var ClickCount = 0; //判断同一checkbox连续点击次数
var PreCheckboxId = ""; //记录点击checkbox的ID
//gridviewId 为传入的gridview的Id
function SingleCheck(DivGridView, SelectCheckBox) {
//console.info(DivGridView);
//console.info(SelectCheckBox);
//判断是否连续点击同一个checkbox
if (PreCheckboxId == SelectCheckBox) {
ClickCount += 1;
} else {
PreCheckboxId = SelectCheckBox.id;
ClickCount = 0;
}
//找到包含checkbox的divId
var GridViewList = document.getElementById(DivGridView);
//获取divId中的多有input
var objs = GridViewList.getElementsByTagName("input");
for (var i = 0; i < objs.length; i++) {
if (objs[i].type.toLowerCase() == "checkbox") {
objs[i].checked = false;
}
var SelectCheckBoxId = SelectCheckBox.id;
//如果点击的checkbox次数为奇数则checkbox为选中,反之不选中
if (ClickCount % 2 != 1) {
document.getElementById(SelectCheckBoxId).checked = true;
} else {
document.getElementById(SelectCheckBoxId).checked = false;
}
}
}原文地址:http://6049752.blog.51cto.com/6039752/1586388