<script language="javascript" type="text/javascript">
var hidCtlId = "<%=hidSelectId.ClientID%>"; function checkSelectId() { var hidValId = document.getElementById(hidCtlId);
if (hidValId.value.length == 0) {
alert("请先选择要操作的数据");
return false;
}
return true;
} function chkSelectAll(spanckb) {
var thebox = spanckb;
oState = thebox.checked; oItem = document.getElementsByTagName("input"); for (i = 0; i < oItem.length; i++) {
if (oItem[i].type == "checkbox" & oItem[i].id != thebox.id) {
if (oItem[i].checked != oState)
oItem[i].click();
}
}
} function setSelectVal(spanckb, id) {
var thebox = spanckb;
oState = thebox.checked;
if (oState) {
attachVal(id);
}
else {
detachVal(id);
}
} function attachVal(id) {
var hidValId = document.getElementById(hidCtlId);
var selValue = ',' + hidValId.value;
temp = ',' + id + ',';
// 不存在则添加
if (selValue.indexOf(temp) == -1) {
hidValId.value = hidValId.value + id + ',';
}
} function detachVal(id) {
var hidValId = document.getElementById(hidCtlId);
var selValue = ',' + hidValId.value;
temp = ',' + id + ',';
selValue = selValue.replace(temp, ',');
hidValId.value = selValue.substr(1);
}
</script>在线等。详细点最好。
if (hidValId.value.length == 0) {
alert("请先选择要操作的数据");
return false;
}
return true;
}
====
函数:返回是否选择CHECKBOX,如选择,则为TRUE,如为FALSE,则弹出警告框,“请先选择要操作的数据”
var thebox = spanckb;
oState = thebox.checked; oItem = document.getElementsByTagName("input"); for (i = 0; i < oItem.length; i++) {
if (oItem[i].type == "checkbox" & oItem[i].id != thebox.id) {
if (oItem[i].checked != oState)
oItem[i].click();
}
}
}
====
使得所有的CHECKBOX都被选择
var hidValId = document.getElementById(hidCtlId);
var selValue = ',' + hidValId.value;
temp = ',' + id + ',';
// 不存在则添加
if (selValue.indexOf(temp) == -1) {
hidValId.value = hidValId.value + id + ',';
}
} function detachVal(id) {
var hidValId = document.getElementById(hidCtlId);
var selValue = ',' + hidValId.value;
temp = ',' + id + ',';
selValue = selValue.replace(temp, ',');
hidValId.value = selValue.substr(1);
}
===
增加或去除对应ID在隐藏域的值(用逗号隔开的处理字符串)
var thebox = spanckb;
oState = thebox.checked;
if (oState) {
attachVal(id);
}
else {
detachVal(id);
}
}
====
动态调用3楼的函数。
CheckBox1.Attributes.Add("onclick", "chkSelectAll(this);");
这样是不是把所有的checkbox 就赋值到thebox上去了啊?
应该是为控件添加属性:
属性名为:onclick
值为:chkSelectAll(this)
var hidValId = document.getElementById(hidCtlId);
var selValue = ',' + hidValId.value;
temp = ',' + id + ',';
// 不存在则添加
if (selValue.indexOf(temp) == -1) {
hidValId.value = hidValId.value + id + ',';
}
} function detachVal(id) {
var hidValId = document.getElementById(hidCtlId);
var selValue = ',' + hidValId.value;
temp = ',' + id + ',';
selValue = selValue.replace(temp, ',');
hidValId.value = selValue.substr(1);
}
===
增加或去除对应ID在隐藏域的值(用逗号隔开的处理字符串)