2011-06-09 96 views
0

我有一個CheckBoxList id="cblFiles"CheckBox id="Checkbox1"複選框列表檢查功能

我已將checkAll功能添加到CheckBoxList。現在我需要檢查的是,CheckBoxList中的任何CheckBox是否未選中「Checkbox1」應該是未選中的。

下面的代碼不會對我

function SelectNoneCheckboxes() { 
    var elm = document.getElementById("<%=cblFiles.ClientID %>"); 
    for (i = 0; i < elm.childNodes.length; i++) { 
     if (elm.childNodes[i].checked == false) { 
      document.getElementById("<%=Checkbox1.ClientID %>").checked = false; 
     } 
    } 
} 

的checkAll功能的代碼工作

function SelectAllCheckboxes(spanChk) { 

      var oItem = spanChk.children; 
      var theBox = (spanChk.type == "checkbox") ? 
     spanChk : spanChk.children.item[0]; 
      xState = theBox.checked; 
      elm = theBox.form.elements; 

      for (i = 0; i < elm.length; i++) 
       if (elm[i].type == "checkbox" && 
       elm[i].id != theBox.id) { 


       if (elm[i].checked != xState) 
        elm[i].click(); 


      } 
     } 

回答

0
function SelectNoneCheckboxes() { 
       var elm = document.getElementById("<%=cblFiles.ClientID %>"); 
       var checkBoxes = elm.getElementsByTagName("input"); 
       for (i = 0; i < checkBoxes.length; i++) { 
        if (checkBoxes[i].checked == false) { 
         document.getElementById("<%=Checkbox1.ClientID %>").checked = false; 
         break; 
        } 
        else { 
         document.getElementById("<%=Checkbox1.ClientID %>").checked = true; 
        } 
       } 
      } 
5

試試這個

function SelectNoneCheckboxes() { 
     var elm = document.getElementById("<%=cblFiles.ClientID %>"); 
     var checkBoxes = elm.getElementsByTagName("input"); 
     for (i = 0; i < checkBoxes.length; i++) { 
      if (checkBoxes[i].checked == false) { 
       document.getElementById("<%=Checkbox1.ClientID %>").checked = false; 
      } 
     } 
    } 

Server代碼

protected void Page_PreRender(object sender, EventArgs e) 
    { 
     CheckBox1.Attributes["onClick"] = "CheckAll(this.checked);"; 
    } 

腳本

function CheckAll(value) { 
     var checkBoxList = document.getElementById("<%= CheckBoxList1.ClientID %>"); 
     if (value !== true) return; 
     var checkBoxes = checkBoxList.getElementsByTagName("input"); 
     for (i = 0; i < checkBoxes.length; i++) { 
      checkBoxes[i].checked = true; 
      } 
     } 
+0

現在,它給我的問題與checkAllfunctionality.I有,我已經添加checkAll功能檢查中的CheckBoxList所有的複選框被選中的checkboxlist.actually當「Checkbox1」掛在嘴邊。未選中時,checkboxlist未被選中。 – chamara 2011-06-09 19:17:07

+0

@chamara,你的checkAll功能綁定到'Checkbox1'的'onchange'事件或其onclick事件嗎?看起來好像它被綁定到'onchange',並且可能應該被移到'onclick'上。 – 2011-06-09 19:19:31

+0

它綁定到onclick事件 – chamara 2011-06-09 19:21:39