2012-03-06 178 views
0

在我的網頁上,我有一個CheckBoxList和一個複選框。當我點擊複選框時,CheckBoxList中的所有複選框應該被檢查。我的CheckBoxList必須位於Bodycontent佔位符下,因爲這是網頁佈局的方式,並且我將腳本保留在相同的佔位符中。單個複選框檢查列表中的所有複選框點擊

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<script type="text/javascript"> 
      function select(ch) { 
       var allcheckboxes = document.getElementById('<%=CheckBoxList1.ClientID %>').getElementsByTagName("input"); 
       for (i = 0; i < allcheckboxes.length; i++) 
        allcheckboxes[i].checked = ch.checked; 
      } 
     </script> 

     <asp:CheckBoxList ID="CheckBoxList1" runat="server" 
      RepeatDirection="Horizontal" RepeatLayout="Flow"> 
      <asp:ListItem>Item A</asp:ListItem> 
      <asp:ListItem>Item B</asp:ListItem> 
      <asp:ListItem>Item C</asp:ListItem> 
     </asp:CheckBoxList> 

      <asp:CheckBox ID="allCheck" onclick="select(this)" runat="server" Text="Select all" /> 
       <br /> 
</asp:Content> 

以上不做任何事情。在複選框上點擊沒有任何反應!我一直被困在這個小問題上,而且不能這樣做。任何建議有什麼不對?

+0

沒有嘗試調試JavaScript與一些JS調試器,例如。 Firebug? – 2012-03-06 11:37:57

回答

2

將您的函數的名稱更改爲其他名稱;它會工作

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<script type="text/javascript"> 
      function select1(ch) { 
       var allcheckboxes = document.getElementById('<%=CheckBoxList1.ClientID %>').getElementsByTagName("input"); 
       for (i = 0; i < allcheckboxes.length; i++) 
        allcheckboxes[i].checked = ch.checked; 
      } 
     </script> 

     <asp:CheckBoxList ID="CheckBoxList1" runat="server" 
      RepeatDirection="Horizontal" RepeatLayout="Flow"> 
      <asp:ListItem>Item A</asp:ListItem> 
      <asp:ListItem>Item B</asp:ListItem> 
      <asp:ListItem>Item C</asp:ListItem> 
     </asp:CheckBoxList> 

      <asp:CheckBox ID="allCheck" onclick="select1(this)" runat="server" Text="Select all" /> 
       <br /> 
</asp:Content> 
0

嘗試這樣的..

function UnCheckAll(isCheck) { 
      var theForm = document.forms['yourFormName']; 
      if (!theForm) { 
       theForm = document.form1; 
      } 
      var length = theForm.elements.length; 
      for (var i = 0; i < length; i++) { 
       if (theForm.elements[i].type == "checkbox") { 
        if (theForm.elements[i].id != "allCheck") { 
         if (theForm.elements[i].disabled == false) { 
          theForm.elements[i].checked = isCheck.checked; 
         } 
        } 
       } 
      } 
     } 
相關問題