2015-03-10 6 views
0
<asp:DataList runat="server" ID="dl1" OnItemDataBound="cb1">    
        <ItemTemplate> 
        <div style="display: table;"> 
         <div style="display: table-row;"> 
          <div style="display: table-cell;"> 
           <asp:CheckBox ID="Cb1"     runat="server"/></div> 
          <div style="display: table-cell;"> 
           <asp:CheckBox ID="cb2" runat="server" /></div>              
         </div> 
        </div> 
       </ItemTemplate> 
      </asp:DataList> 

Здесь я хочу jquery/javascript, где, если я выбираю cb1, тогда cb2 следует выбирать автоматически, а не наоборот.Check all checkbox, нажав на 1 checkbox

Я стараюсь: но кто-нибудь может мне помочь.

<script type="text/javascript"> 

    var d1Control = document.getElementById('<%= dl1.ClientID %>'); 
    $('input:checkbox[id$=cb1]', d1Control).click(function (e) { 
     if (this.checked) { 
      $('input:checkbox[id$=cb2]', d1Control).attr('checked', true); 
     } 
     else { 
      $('input:checkbox[id$=cb2]', d1Control).removeAttr('checked'); 
     } 
    }); 
</script> 
+1

А что не работает о вашем коде? – Mouser

+0

Возможное дублирование этого? http://stackoverflow.com/questions/28928636/select-all-checkboxes-using-javascript-or-jquery/28928839#answer-28928839 – NewToJS

+0

Я не совсем уверен, но вы можете попытаться использовать '$ (this) .attr («checked») 'как условие (' this', возможно, не указывает на флажок, фактически указывая на 'document' вместо). Кроме того, это может иметь какое-то отношение к тому, как события «click» и «check» состояния синхронизируются друг с другом. –

ответ

0

Возможно, это может помочь?

$('id$=cb1').click(function() { 
    if ($(this).is("checked")) { 
     $('id$=cb2').attr('checked' true); 
    } else { 
     $('id$=cb2').attr('checked', false); 
    } 
}); 
0

Для этого необходимо установить флажок «Выбрать все». Где вы проверяете один флажок, и он выбирает все флажки для вас.

$('#cb1').click(function() { 
      var selectAll = $("#cb1").is(":checked"); 
      if (selectAll) 
      { 
       $('input[type=checkbox]').attr("checked", true); 
      } 
      if (!selectAll) 
      { 
       $('input[type=checkbox]').attr("checked", false); 
      } 

     }); 

Если вы хотите, чтобы это влияет только на определенный флажок (CB2):

 $('#cb1').click(function() { 
      var selectAll = $("#cb1").is(":checked"); 
      if (selectAll) 
      { 
       $('id$=cb2').attr("checked", true); 
      } 
      if (!selectAll) 
      { 
       $('id$=cb2').attr("checked", false); 
      } 

     });