摘要:JavaScript 使用 ASP.Net 的 RadioButtonList 與 CheckBoxList (II)
前一篇文章原本要一次寫完~
JavaScript 使用 ASP.Net 的 RadioButtonList 與 CheckBoxList (I)
可是程式碼好像有點長~所以分成兩篇了~
底下這個方法可以解決Server端程式碼已經設定 Item Enable = False
javascript還把值填入的情形
就看需求來決定要用哪一種嚕~
今天在寫的時候發現另一個問題~
這個方法只能用於RepeatLayout設定為Table時
RepeatLayout如果設定為Flow,這個方法不能用
只能用前一篇的方法
想當然因為設成Flow哪來的表格= =
不然就是把兩個合併一下~
這個方法不行,就跑前一篇的方法~
<script type="text/javascript" >
//取得RadioButtonList的check值 getRdoValue(ClientID) return'value'
function getRdoValue(id) {
var rdoObj = my_get(id);
var vl = "";
for (var i = 0; i < rdoObj.rows.length; i++) {
for (var j = 0; j < rdoObj.rows[i].cells.length; j++) {
if (rdoObj.rows[i].cells[j].childNodes[0].checked) {
vl = rdoObj.rows[i].cells[j].childNodes[0].value;
break;
}
}
}
return vl;
}
//設定check的RadioButtonList setRdoCheck(ClientID, 'value')
function setRdoCheck(id, vl) {
var rdoObj = my_get(id);
for (var i = 0; i < rdoObj.rows.length; i++) {
for (var j = 0; j < rdoObj.cells.length; j++) {
if (vl == rdoObj.rows[i].cells[j].childNodes[0].value) {
rdoObj.rows[i].cells[j].childNodes[0].checked = true;
} else {
rdoObj.rows[i].cells[j].childNodes[0].checked = false;
}
}
}
}
//設定RadioButtonList的Enable setRdoEnable(ClientID, ture | false)
function setRdoEnable(id, tf) {
var rdoObj = my_get(id);
for (var i = 0; i < rdoObj.rows.length; i++) {
for (var j = 0; j < rdoObj.rows[i].cells.length; j++) {
if (tf) {
rdoObj.rows[i].cells[j].childNodes[0].disabled = "";
} else {
rdoObj.rows[i].cells[j].childNodes[0].disabled = "disabled";
}
}
}
}
//取得CheckBoxList的check值 getChkValue(ClientID) return'二進制'
function getChkValue(id) {
var chkObj = my_get(id);
var vl = [];
for (var i = 0; i < chkObj.rows.length; i++) {
for (var j = 0; j < chkObj.rows[i].cells.length; j++) {
if (chkObj.rows[i].cells[j].childNodes[0].checked) {
vl.push("1");
} else {
vl.push("0");
}
}
}
return vl.join(""); ;
}
//設定check的CheckBoxList setChkCheck(ClientID, '二進制')
function setChkCheck(id, vl) {
var chkObj = my_get(id);
for (var i = 0; i < chkObj.rows.length; i++) {
for (var j = 0; j < chkObj.rows[i].cells.length; j++) {
if (vl.charAt((i * chkObj.rows[i].cells.length) + j) == "1") {
chkObj.rows[i].cells[j].childNodes[0].checked = true;
} else {
chkObj.rows[i].cells[j].childNodes[0].checked = false;
}
}
}
}
//設定CheckBoxList的Enable setChkEnable(ClientID, ture | false)
function setChkEnable(id, tf) {
var chkObj = my_get(id);
for (var i = 0; i < chkObj.rows.length; i++) {
for (var j = 0; j < chkObj.rows[i].cells.length; j++) {
if (tf) {
chkObj.rows[i].cells[j].childNodes[0].disabled = "";
} else {
chkObj.rows[i].cells[j].childNodes[0].disabled = "disabled";
}
}
}
}
</script>