2017-05-22 10 views
1

Javascript関数は、コンテンツページのチェックボックスを使用してすべてのチェックリストボックスをチェックしたり、チェックを外したりしていません。これは、マスターページせずにページ上で動作しますが、それはC#を使用しているASP.net

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> 
 
<asp:CheckBox ID="checkBox" Text="Buy All" Font-Bold="true" runat="server" /> 
 
<asp:CheckBoxList ID="checkBoxList" TextAlign="Right" runat="server"> 
 
    <asp:ListItem Enabled="true" Value="Driver_Steering">Steering</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Body">Body</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Reflectors">Reflectors</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Horn">Horn</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Leaks">Leaks</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Ammeter">Ammeter</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Transmission">Transmission</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Tail_Lights">Tail Lights</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Coupling_Device">Coupling Device</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Service_Brakes">Service Brakes</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Glass">Glass</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Exhaust">Exhaust</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Other_Items">Other Items</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Drive_Line">Drive Drive Line</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Clutch">Clutch</asp:ListItem> 
 
    <asp:ListItem Value="Driver_Speedometer">Speedometer</asp:ListItem> 
 
</asp:CheckBoxList> 
 
</asp:Content>

<script type="text/javascript"> 
 
    $(document).ready(function() { 
 
     $('#checkBox').click(function() { 
 
      if ($(this).is(":checked")) { 
 
       $('[id *= checkBoxList]').find('input[type="checkbox"]').each(function() { 
 
        $(this).prop("checked", true); 
 
       }); 
 
      } 
 
      else { 
 
       $('[id *= checkBoxList]'). find('input[type="checkbox"]') .each(function() { 
 
        $(this). prop("checked", false); 
 
       }); 
 
      } 
 
     }); 
 
    }); 
 
</script>

+0

ブラウザのコンソールにエラー? – Sankar

+1

チェックボックスのレンダリングされたIDがまだcheckBoxであることを確かめていますか?設定がアクティブ化されていない場合は変更できます。https://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode (v = 1.10).aspx – Pete

答えて

0

マスターページとページ上で動作していないあなたはCheckBoxListと使用にCssClass属性を追加することができますそれはjQueryのセレクタで、次を参照してください:

<asp:CheckBox ID="checkBox" 
       CssClass="chkboxList" <-- Add CssClass attribute 
       Text="Buy All" 
       Font-Bold="true" 
       runat="server" /> 

レンダリングされたページには、以下のようにする必要があります:

$('#checkBox').click(function() { 
 
    $(".myClass").prop('checked', $(this).is(":checked")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="checkBox" type="checkbox">Buy All<br/> 
 
<input class="myClass" type="checkbox">1<br/> 
 
<input class="myClass" type="checkbox">2

私はそれはさようなら、あなたを助け願っています。

0

利用のClientID

$('#' + '<%= checkBox.ClientID %>').click(function() { 
if ($(this).is(":checked")) { 
       $('[id *= checkBoxList]').find('input[type="checkbox"]').each(function() { 
        $(this).prop("checked", true); 
       }); 
      } 
      else { 
       $('[id *= checkBoxList]'). find('input[type="checkbox"]') .each(function() { 
        $(this). prop("checked", false); 
       }); 
      } 
}); 
+0

私はより良い解決策を教えてください –

0
<div> 
    <asp:CheckBox ID="checkBox" Text="Buy All" Font-Bold="true" runat="server" onclick = "CheckAll(this);" /> 
    <asp:CheckBoxList ID="checkBoxList" TextAlign="Right" runat="server"> 
     <asp:ListItem Enabled="true" Value="Driver_Steering">Steering</asp:ListItem> 
     <asp:ListItem Value="Driver_Body">Body</asp:ListItem> 
     <asp:ListItem Value="Driver_Reflectors">Reflectors</asp:ListItem> 
     <asp:ListItem Value="Driver_Horn">Horn</asp:ListItem> 
     <asp:ListItem Value="Driver_Leaks">Leaks</asp:ListItem> 
     <asp:ListItem Value="Driver_Ammeter">Ammeter</asp:ListItem> 
     <asp:ListItem Value="Driver_Transmission">Transmission</asp:ListItem> 
     <asp:ListItem Value="Driver_Tail_Lights">Tail Lights</asp:ListItem> 
     <asp:ListItem Value="Driver_Coupling_Device">Coupling Device</asp:ListItem> 
     <asp:ListItem Value="Driver_Service_Brakes">Service Brakes</asp:ListItem> 
     <asp:ListItem Value="Driver_Glass">Glass</asp:ListItem> 
     <asp:ListItem Value="Driver_Exhaust">Exhaust</asp:ListItem> 
     <asp:ListItem Value="Driver_Other_Items">Other Items</asp:ListItem> 
     <asp:ListItem Value="Driver_Drive_Line">Drive Drive Line</asp:ListItem> 
     <asp:ListItem Value="Driver_Clutch">Clutch</asp:ListItem> 
     <asp:ListItem Value="Driver_Speedometer">Speedometer</asp:ListItem> 
    </asp:CheckBoxList> 
</div> 

<script type="text/javascript"> 
    function CheckAll(obj) { 
     var list = document.getElementById("<%=checkBoxList.ClientID%>"); 
     var chklist = list.getElementsByTagName("input"); 
     for (var i = 0; i < chklist.length; i++) { 
      if (chklist[i].type == "checkbox" && chklist[i] != obj) { 
       chklist[i].checked = obj.checked; 

      } 
     } 
    } 
</script> 
関連する問題