急js遍历DataList中的CheckBox

2024-12-24 12:21:39
推荐回答(3个)
回答1:

function check() {
var x = 0;
var cblist = document.getElementsByName("checkbox");
for (i = 0; i < cblist.length; i++) {
if (cblist[i].checked) {
x++;
}
}
if (x > 1) {
alert("只能选择单条数据");
}
else if (x == 1) {
alert("是否对选中数据进行操作");
}
}
DataList里要用HTML的checkbox,不能用.NET的

如果你非要用.NET的CheckBox,把
var cblist = document.getElementsByName("checkbox");
改成
var table = document.getElementById("DataList1");
var cblist = table .getElementsByTargetName("input");
不过这样如果你的DaleList模板里有TextBox或Button可能会有问题

回答2:

在checkbox的onclick事件中
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
int m = item.ItemIndex;//这个i为选中的行
下面用循环吧checkbox变为false
foreach(int i=0;i{
CheckBox ch=(CheckBox)(DataList1.Items[i].FindControl("checkbox的id"));
ch.Checked=false;
}
然后把选中的改为true;
CheckBox ch=(CheckBox)(DataList1.Items[m].FindControl("checkbox的id"));
ch.Checked=True;

回答3:

1楼如果代码无误,可以实现你需要的功能!