JavaScript 使用 ASP.Net 的 RadioButtonList 與 CheckBoxList (II)

  • 5597
  • 0
  • 2009-03-10

摘要: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" >

//取得RadioButtonListcheck   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;
}
 
//設定checkRadioButtonList     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;
            }
        }
    }
}
 
//設定RadioButtonListEnable        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";
            }
        }
    }
}
 
 
//取得CheckBoxListcheck 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(""); ;
}
 
//設定checkCheckBoxList   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;
            }
        }
    }
}
 
//設定CheckBoxListEnable 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>