HTML'de "tümünü seç" onay kutusu nasıl uygulanır?


218

Birden fazla onay kutusuna sahip bir HTML sayfam var.

"Tümünü seç" adıyla bir onay kutusuna daha ihtiyacım var. Bu onay kutusunu işaretlediğimde HTML sayfasındaki tüm onay kutularının seçilmesi gerekir. Bunu nasıl yapabilirim?


1
Zarif bir şekilde düşürmek istiyorsanız, "tümünü seç" i seçmek aslında her birinin kendi durumundan bağımsız olarak seçildiği anlamına gelmelidir. (javascript devre dışı bırakıldığında sayfanızı ziyaret edin)
bazı

Firefox'ta (ve belki diğerleri?): CTRL+SHIFT+KKonsolu açmak için tuşuna, ardından yapıştırın : $("input:checkbox").attr('checked', true)ve tuşuna basın Enter. Geçerli sayfadaki tüm onay kutularının şimdi işaretlenmesi gerekir. Un-çek için değişim Trueiçin False.
ashleedawg

Yanıtlar:


308
<script language="JavaScript">
function toggle(source) {
  checkboxes = document.getElementsByName('foo');
  for(var checkbox in checkboxes)
    checkbox.checked = source.checked;
}
</script>

<input type="checkbox" onClick="toggle(this)" /> Toggle All<br/>

<input type="checkbox" name="foo" value="bar1"> Bar 1<br/>
<input type="checkbox" name="foo" value="bar2"> Bar 2<br/>
<input type="checkbox" name="foo" value="bar3"> Bar 3<br/>
<input type="checkbox" name="foo" value="bar4"> Bar 4<br/>

GÜNCELLEME:

for each...inYapı bu durumda en azından, Safari 5 veya Chrome 5. Bu kod tüm tarayıcılarda çalışması gerekir, iş görünmüyor:

function toggle(source) {
  checkboxes = document.getElementsByName('foo');
  for(var i=0, n=checkboxes.length;i<n;i++) {
    checkboxes[i].checked = source.checked;
  }
}

1
her biri için (onay kutularındaki var onay kutusu) ---------------------------------------: (onay kutularındaki var onay kutusu)
HelloWorld

@HelloWorld: her biri için ... aslında geçerlidir Javascript: developer.mozilla.org/en/Core_JavaScript_1.5_Reference/… Ancak, porneL'in belirttiği gibi, belirsiz bir yapıdır. Ayrıca, bu kod Safari 5 veya Chrome 5'te çalışmaz. FF 3.6 ve IIRC'de for(var i in checkboxes) checkboxes[i].checked = source.checkedçalışır, Safari 4'te çalışır. Tüm tarayıcılarda çalışır.
Can Berk Güder

3
Asla for inbir koleksiyon veya dizi ile kullanmayın
mplungjan

1
Neden , n=checkboxes.length;i<nsadece yerine yapıyorsun i < checkboxes.length? Her neyse, işlevi genel yapmak (kodun yeniden kullanımı) için ek bir parametre iletin: (source, checkboxes_name)ve do document.getElementsByName(checkboxes_name);Adı kodlamaktan ve işlevi belirli bir onay kutusu kümesine özgü yapmaktan daha iyidir.
ADTC

3
Pekala, düzenlemem bir nedenden dolayı reddedildiği için, sanırım buraya yorum yapacağım. For-each yapısı kullanımdan kaldırılmıştır ve çalışmaz! Bunu yerine kullanmak zorunda: for(let checkbox of checkboxes).
forresthopkinsa

126

JQuery kullanma :

// Listen for click on toggle checkbox
$('#select-all').click(function(event) {   
    if(this.checked) {
        // Iterate each checkbox
        $(':checkbox').each(function() {
            this.checked = true;                        
        });
    } else {
        $(':checkbox').each(function() {
            this.checked = false;                       
        });
    }
});

HTML:

<input type="checkbox" name="checkbox-1" id="checkbox-1" />
<input type="checkbox" name="checkbox-2" id="checkbox-2" />
<input type="checkbox" name="checkbox-3" id="checkbox-3" />

<!-- select all boxes -->
<input type="checkbox" name="select-all" id="select-all" />

24
ben seçim kullanım durumu, ;-) .. else {// her onay kutusunu $ (": onay kutusu") yineleyin başka bir yan tümceyi eklemek istiyorum. }
emeraldjava

4
İf ve else öğelerini dışarıda bırakmak ve seçimi kaldırmaya devam etmek istiyorsanız, bunu şu şekilde yapabilirsiniz: var state = this.checked; $ (': onay kutusu'). her biri (function () {this.checked = state;});
Assil

85

Kimsenin ( jQuery kullanarak ) bu şekilde cevap vermediğinden emin değilim :

  $( '#container .toggle-button' ).click( function () {
    $( '#container input[type="checkbox"]' ).prop('checked', this.checked)
  })

Temiz, hiçbir döngüler vardır veya / else yan tümceleri ve bir cazibe olarak çalışır.


4
Sadece üç satır, basit => kolay anlaşılır ve seçimi kaldırmak için de çalışır. Teşekkür ederim.
TeeJay

61

Seçimi kaldırmak için:

$('#select_all').click(function(event) {
  if(this.checked) {
      // Iterate each checkbox
      $(':checkbox').each(function() {
          this.checked = true;
      });
  }
  else {
    $(':checkbox').each(function() {
          this.checked = false;
      });
  }
});

2
ve başka gerekli değilse ... sadece this.checkedbunun yerine kullanın
m13r

46

Kimsenin bahsetmediğine şaşırdım document.querySelectorAll(). Saf JavaScript çözümü, IE9 + 'da çalışır.

function toggle(source) {
    var checkboxes = document.querySelectorAll('input[type="checkbox"]');
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i] != source)
            checkboxes[i].checked = source.checked;
    }
}
<input type="checkbox" onclick="toggle(this);" />Check all?<br />

<input type="checkbox" />Bar 1<br />
<input type="checkbox" />Bar 2<br />
<input type="checkbox" />Bar 3<br />
<input type="checkbox" />Bar 4<br />


1
Bu Chrome'da çalıştı, ancak farklı nedenlerle onay kutularının bir sürü vardı, bu yüzden 'type = "checkbox"' hedeflemek yerine, 'name = "myobject"' i hedefledim ve ayrıca çalıştı.
Rich701

Belki bazı tartışmalar yararlı olursa, bu yeni doğru cevaba dönüştürülmelidir. :-)
Jesse Steele

Bu cevabın mevcut sayfalara uygulanması diğer cevaplardan çok daha kolaydı. aferin.
TS

16

Demo http://jsfiddle.net/H37cb/

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" /></script>

<script type="text/javascript">
$(document).ready(function(){

$('input[name="all"],input[name="title"]').bind('click', function(){
var status = $(this).is(':checked');
$('input[type="checkbox"]', $(this).parent('li')).attr('checked', status);
});

});
</script>




<div id="wrapper">
 <li style="margin-top: 20px">
  <input type="checkbox" name="all" id="all" /> <label for='all'>All</label>
  <ul>
   <li><input type="checkbox" name="title" id="title_1" /> <label for="title_1"><strong>Title 01</strong></label>
    <ul>
     <li><input type="checkbox" name="selected[]" id="box_1" value="1" /> <label for="box_1">Sub Title 01</label></li>
     <li><input type="checkbox" name="selected[]" id="box_2" value="2" /> <label for="box_2">Sub Title 02</label></li>
     <li><input type="checkbox" name="selected[]" id="box_3" value="3" /> <label for="box_3">Sub Title 03</label></li>
     <li><input type="checkbox" name="selected[]" id="box_4" value="4" /> <label for="box_4">Sub Title 04</label></li>
    </ul>
   </li>
  </ul>
  <ul>
   <li><input type="checkbox" name="title" id="title_2" /> <label for="title_2"><strong>Title 02</strong></label>
    <ul>
     <li><input type="checkbox" name="selected[]" id="box_5" value="5" /> <label for="box_5">Sub Title 05</label></li>
     <li><input type="checkbox" name="selected[]" id="box_6" value="6" /> <label for="box_6">Sub Title 06</label></li>
     <li><input type="checkbox" name="selected[]" id="box_7" value="7" /> <label for="box_7">Sub Title 07</label></li>
    </ul>
   </li>
  </ul>
 </li>
</div>

1
Benim için sadece tek bir döngü için çalışıyor, sadece bir kez değiştiriyor, o zaman hiçbir şey yapmıyor.
mrudult

attr()Sanırım bu yöntem. değiştirildiprop()
mrudult

Listeden herhangi bir öğenin seçimini kaldırırsam, Tümünü Seç onay kutusunun da seçimi kaldırılmamalı mı?
some_other_guy

10

Saygıyla kontrol eden ve kontrol eden hafifçe değiştirilmiş versiyon

$('#select-all').click(function(event) {
        var $that = $(this);
        $(':checkbox').each(function() {
            this.checked = $that.is(':checked');
        });
    });

10

Aradığınızda document.getElementsByName("name"), bir Object. .item(index)Bir öğenin tüm öğelerinde gezinmek için kullanınObject

HTML:

<input type="checkbox" onclick="for(c in document.getElementsByName('rfile')) document.getElementsByName('rfile').item(c).checked = this.checked">

<input type=​"checkbox" name=​"rfile" value=​"/​cgi-bin/​"><input type=​"checkbox" name=​"rfile" value=​"/​includes/​"><input type=​"checkbox" name=​"rfile" value=​"/​misc/​"><input type=​"checkbox" name=​"rfile" value=​"/​modules/​"><input type=​"checkbox" name=​"rfile" value=​"/​profiles/​"><input type=​"checkbox" name=​"rfile" value=​"/​scripts/​"><input type=​"checkbox" name=​"rfile" value=​"/​sites/​"><input type=​"checkbox" name=​"rfile" value=​"/​stats/​"><input type=​"checkbox" name=​"rfile" value=​"/​themes/​">

9
<html>

<head>
<script type="text/javascript">

    function do_this(){

        var checkboxes = document.getElementsByName('approve[]');
        var button = document.getElementById('toggle');

        if(button.value == 'select'){
            for (var i in checkboxes){
                checkboxes[i].checked = 'FALSE';
            }
            button.value = 'deselect'
        }else{
            for (var i in checkboxes){
                checkboxes[i].checked = '';
            }
            button.value = 'select';
        }
    }
</script>
</head>

<body>
<input type="checkbox" name="approve[]" value="1" />
<input type="checkbox" name="approve[]" value="2" />
<input type="checkbox" name="approve[]" value="3" />

<input type="button" id="toggle" value="select" onClick="do_this()" />
</body>

</html>

9

Basit çözümüm, her bir onay kutusu için farklı adlar kullanırken formun belirli bir bölümündeki tüm onay kutularını seçerek seçmeyi / seçimini kaldırmayı sağlar , böylece form POSTlandıktan sonra kolayca tanınabilir.

JavaScript:

function setAllCheckboxes(divId, sourceCheckbox) {
    divElement = document.getElementById(divId);
    inputElements = divElement.getElementsByTagName('input');
    for (i = 0; i < inputElements.length; i++) {
        if (inputElements[i].type != 'checkbox')
            continue;
        inputElements[i].checked = sourceCheckbox.checked;
    }
}

HTML örneği:

<p><input onClick="setAllCheckboxes('actors', this);" type="checkbox" />All of them</p>
<div id="actors">
    <p><input type="checkbox" name="kevin" />Spacey, Kevin</p>
    <p><input type="checkbox" name="colin" />Firth, Colin</p>
    <p><input type="checkbox" name="scarlett" />Johansson, Scarlett</p>
</div>

Umarım beğenmişsindir!


9

Bu basit JQuery'yi deneyin:

$('#select-all').click(function(event) {
  if (this.checked) {
    $(':checkbox').prop('checked', true);
  } else {
    $(':checkbox').prop('checked', false);
  }
});

1
Bunu $(':checkbox').prop('checked', this.checked)koşullu gerekmeksizin basitleştirebilirsiniz .
Sumit


7

Bu örnek, onay kutusu değişken adının değiştiği yerel JavaScript ile çalışır, yani tüm "foo" değil.

<!DOCTYPE html>
<html>
<body>

<p>Toggling checkboxes</p>
<script>
function getcheckboxes() {
    var node_list = document.getElementsByTagName('input');
    var checkboxes = [];
    for (var i = 0; i < node_list.length; i++) 
    {
        var node = node_list[i];
        if (node.getAttribute('type') == 'checkbox') 
    {
            checkboxes.push(node);
        }
    } 
    return checkboxes;
}
function toggle(source) {
  checkboxes = getcheckboxes();
  for(var i=0, n=checkboxes.length;i<n;i++) 
  {
    checkboxes[i].checked = source.checked;
  }
}
</script>


<input type="checkbox" name="foo1" value="bar1"> Bar 1<br/>
<input type="checkbox" name="foo2" value="bar2"> Bar 2<br/>
<input type="checkbox" name="foo3" value="bar3"> Bar 3<br/>
<input type="checkbox" name="foo4" value="bar4"> Bar 4<br/>

<input type="checkbox" onClick="toggle(this)" /> Toggle All<br/>

</body>
</html>

2
sizin getcheckboxesfonksiyonu ile değiştirilebilir olabilirdocument.querySelectorAll('input[type=checkbox]');
Kaiido

4
<asp:CheckBox ID="CheckBox1" runat="server" Text="Select All" onclick="checkAll(this);" />
<br />
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
    <asp:ListItem Value="Item 1">Item 1</asp:ListItem>
    <asp:ListItem Value="Item 2">Item 2</asp:ListItem>
    <asp:ListItem Value="Item 3">Item 3</asp:ListItem>
    <asp:ListItem Value="Item 4">Item 4</asp:ListItem>
    <asp:ListItem Value="Item 5">Item 5</asp:ListItem>
    <asp:ListItem Value="Item 6">Item 6</asp:ListItem>
</asp:CheckBoxList>

<script type="text/javascript">
    function checkAll(obj1) {
        var checkboxCollection = document.getElementById('<%=CheckBoxList1.ClientID %>').getElementsByTagName('input');

        for (var i = 0; i < checkboxCollection.length; i++) {
            if (checkboxCollection[i].type.toString().toLowerCase() == "checkbox") {
                checkboxCollection[i].checked = obj1.checked;
            }
        }
    }
</script>

3

yapılan işi yapmalı:

    $(':checkbox').each(function() {
        this.checked = true;                        
    });

2
$(document).ready(function() {
                $(document).on(' change', 'input[name="check_all"]', function() {
                    $('.cb').prop("checked", this.checked);
                });
            });

2

JQuery ve nakavt kullanma:

Bu bağlayıcı ana onay kutusunun altında yatan onay kutuları ile senkronize olması durumunda, tüm onay kutuları işaretlenmedikçe işaretlenmez.

ko.bindingHandlers.allChecked = {
  init: function (element, valueAccessor) {
    var selector = valueAccessor();

    function getChecked () {
      element.checked = $(selector).toArray().every(function (checkbox) {
        return checkbox.checked;
      });
    }

    function setChecked (value) {
      $(selector).toArray().forEach(function (checkbox) {
        if (checkbox.checked !== value) {
          checkbox.click();
        }
      });
    }

    ko.utils.registerEventHandler(element, 'click', function (event) {
      setChecked(event.target.checked);
    });

    $(window.document).on('change', selector, getChecked);

    ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
      $(window.document).off('change', selector, getChecked);
    });

    getChecked();
  }
};

html biçiminde:

<input id="check-all-values" type="checkbox" data-bind="allChecked: '.checkValue'"/>
<input id="check-1" type="checkbox" class="checkValue"/>
<input id="check-2" type="checkbox" class="checkValue"/>

Nakavt hakkında yeterince bilmiyorum (cdnjs.cloudflare.com'dan ko3.4 kullanıyorum, ancak yukarıdaki işe yaramıyor gibi görünüyor - Başlangıçta bir kesme noktası ayarlayabilirim: sayfa yüklendiğinde tetiklenen çağrı (Ben varsayalım ki doğrudur), ancak bu verimleri hiçliğe adım -. işlevin kalan hiçbiri diğer fonksiyonlar üzerinde kesme noktası ayarlama yürütülür ve bunlar tetiklenen asla.
Tony Suffolk 66

Tony Suffolk, sanat iki olay işleyicisi ayarlandı: onay kutusu için onclick ve onchange ve kodun sonunda onay kutusu değeri güncellenir. Bu kod projenizde çalışmazsa, veri bağlama özniteliğini onay kutusu için kontrol edin.
blazkovicz

2

Aynı formda farklı onay kutusu gruplarınız olabilir . Vanilya javascript işlevi document.getElementsByClassName işlevini kullanarak, onay kutularını sınıf adına göre seçen / seçimini kaldıran bir çözüm.

Tümünü Seç düğmesi

<input type='checkbox' id='select_all_invoices' onclick="selectAll()"> Select All

Seçilecek onay kutularından bazıları

<input type='checkbox' class='check_invoice' id='check_123' name='check_123' value='321' />
<input type='checkbox' class='check_invoice' id='check_456' name='check_456' value='852' />

Javascript

    function selectAll() {
        var blnChecked = document.getElementById("select_all_invoices").checked;
        var check_invoices = document.getElementsByClassName("check_invoice");
        var intLength = check_invoices.length;
        for(var i = 0; i < intLength; i++) {
            var check_invoice = check_invoices[i];
            check_invoice.checked = blnChecked;
        }
    }


2

Bu, örneğin 5 onay kutunuz varsa ve tümünü işaretle'yi tıklarsanız, bunu yapar, şimdi tüm onay kutularının işaretini kaldırırsanız, muhtemelen her 5 onay kutusunu tıklatarak, son onay kutusunun işaretini kaldırarak tüm onay kutularının işareti kaldırılır

$("#select-all").change(function(){
   $(".allcheckbox").prop("checked", $(this).prop("checked"))
  })
  $(".allcheckbox").change(function(){
      if($(this).prop("checked") == false){
          $("#select-all").prop("checked", false)
      }
      if($(".allcheckbox:checked").length == $(".allcheckbox").length){
          $("#select-all").prop("checked", true)
      }
  })

2

Yorumlayamadığım gibi, burada cevap olarak: Can Berk Güder'in çözümünü daha genel bir şekilde yazardım, böylece diğer onay kutuları için işlevi yeniden kullanabilirsiniz

<script language="JavaScript">
  function toggleCheckboxes(source, cbName) {
    checkboxes = document.getElementsByName(cbName);
    for (var i = 0, n = checkboxes.length; i < n; i++) {
      checkboxes[i].checked = source.checked;
    }
  }
</script>
<input type="checkbox" onClick="toggleCheckboxes(this,\'foo\')" /> Toggle All<br/>

<input type="checkbox" name="foo" value="bar1"> Bar 1<br/>
<input type="checkbox" name="foo" value="bar2"> Bar 2<br/>
<input type="checkbox" name="foo" value="bar3"> Bar 3<br/>
<input type="checkbox" name="foo" value="bar4"> Bar 4<br/>
<input type="checkbox" name="foo" value="bar5"> Bar 5<br/>

Khaldi ve Clarity'ye eksik dirseği işaret ettikleri için teşekkürler!
user219901

2

Jquery için en iyi yanıtı alırsanız, tıklama işlevine iletilen nesnenin, orijinal onay kutusu nesnesi değil, bir EventHandler olduğunu unutmayın. Bu nedenle kod kodu aşağıdaki gibi değiştirilebilir.

Html

<input type="checkbox" name="selectThemAll"/> Toggle All<br/>

<input type="checkbox" name="foo" value="bar1"> Bar 1<br/>
<input type="checkbox" name="foo" value="bar2"> Bar 2<br/>
<input type="checkbox" name="foo" value="bar3"> Bar 3<br/>
<input type="checkbox" name="foo" value="bar4"> Bar 4<br/>

JavaScript

$(function() {
    jQuery("[name=selectThemAll]").click(function(source) { 
        checkboxes = jQuery("[name=foo]");
        for(var i in checkboxes){
            checkboxes[i].checked = source.target.checked;
        }
    });
})

sadece ilk giriş türü yanlış değil, düzelttikten sonra bile bu benim için işe yaramadı
Hata Mesajları

1

İşte bir backbone.js uygulaması:

events: {
    "click #toggleChecked" : "toggleChecked"
},
toggleChecked: function(event) {

    var checkboxes = document.getElementsByName('options');
    for(var i=0; i<checkboxes.length; i++) {
        checkboxes[i].checked = event.currentTarget.checked;
    }

},

1

html

<input class='all' type='checkbox'> All
<input class='item' type='checkbox' value='1'> 1
<input class='item' type='checkbox' value='2'> 2
<input class='item' type='checkbox' value='3'> 3

javaScript

$(':checkbox.all').change(function(){
  $(':checkbox.item').prop('checked', this.checked);
});

1

1: Değişim olayı İşleyicisini ekleyin

<th><INPUT type="checkbox" onchange="checkAll(this)" name="chk[]" /> </th>

2: İşaretli / işaretsiz işlemek için kodu değiştirin

 function checkAll(ele) {
     var checkboxes = document.getElementsByTagName('input');
     if (ele.checked) {
         for (var i = 0; i < checkboxes.length; i++) {
             if (checkboxes[i].type == 'checkbox') {
                 checkboxes[i].checked = true;
             }
         }
     } else {
         for (var i = 0; i < checkboxes.length; i++) {
             console.log(i)
             if (checkboxes[i].type == 'checkbox') {
                 checkboxes[i].checked = false;
             }
         }
     }
 }

Lütfen yapıştırma kodunu kopyalamayın, bunun yerine şu bağlantıya başvurun stackoverflow.com/questions/19282219/…
java_dude

1

Aşağıdaki yöntemleri anlamak çok kolaydır ve mevcut formları dakikalar içinde uygulayabilirsiniz

Jquery ile,

$(document).ready(function() {
  $('#check-all').click(function(){
    $("input:checkbox").attr('checked', true);
  });
  $('#uncheck-all').click(function(){
    $("input:checkbox").attr('checked', false);
  });
});

HTML formunda düğmelerin altına koy

<a id="check-all" href="javascript:void(0);">check all</a>
<a id="uncheck-all" href="javascript:void(0);">uncheck all</a> 

Sadece javascript kullanarak,

<script type="text/javascript">
function checkAll(formname, checktoggle)
{
  var checkboxes = new Array(); 
  checkboxes = document[formname].getElementsByTagName('input');

  for (var i=0; i<checkboxes.length; i++)  {
    if (checkboxes[i].type == 'checkbox')   {
      checkboxes[i].checked = checktoggle;
    }
  }
}
</script>

HTML formunda düğmelerin altına koy

<button onclick="javascript:checkAll('form3', true);" href="javascript:void();">check all</button>

<button onclick="javascript:checkAll('form3', false);" href="javascript:void();">uncheck all</button>

0

Bu basit kodu kullanabilirsiniz

$('.checkall').click(function(){
    var checked = $(this).prop('checked');
    $('.checkme').prop('checked', checked);
});

0

jQuery kullanarak kısa el versiyonunda nasıl yapılır

Tümünü seç onay kutusu

<input type="checkbox" id="chkSelectAll">

Çocuklar onay kutusu

<input type="checkbox" class="chkDel">
<input type="checkbox" class="chkDel">
<input type="checkbox" class="chkDel">

jQuery

$("#chkSelectAll").on('click', function(){
     this.checked ? $(".chkDel").prop("checked",true) : $(".chkDel").prop("checked",false);  
})

0

Belki biraz geç, ancak bir onay tüm onay kutusuyla uğraşırken, tüm onay kutusunu işaretlediğinizde ve ardından aşağıdaki onay kutularından birinin işaretini kaldırdığınızda senaryoyu da ele almanız gerektiğine inanıyorum.

Bu durumda, tüm onay kutularının otomatik olarak işaretini kaldırması gerekir.

Ayrıca tüm onay kutularını manuel olarak kontrol ederken, tüm onay kutularının otomatik olarak kontrol edilmesiyle sonuçlanmalısınız.

İki olay işleyicisine ihtiyacınız vardır, bunlardan biri tümünü kontrol et ve diğeri aşağıdaki tek kutulardan birini tıklarken.

// HANDLES THE INDIVIDUAL CHECKBOX CLICKS
function client_onclick() {
    var selectAllChecked = $("#chk-clients-all").prop("checked");

    // IF CHECK ALL IS CHECKED, AND YOU'RE UNCHECKING AN INDIVIDUAL BOX, JUST UNCHECK THE CHECK ALL CHECKBOX.
    if (selectAllChecked && $(this).prop("checked") == false) {
        $("#chk-clients-all").prop("checked", false);
    } else { // OTHERWISE WE NEED TO LOOP THROUGH INDIVIDUAL CHECKBOXES AND SEE IF THEY ARE ALL CHECKED, THEN CHECK THE SELECT ALL CHECKBOX ACCORDINGLY.
        var allChecked = true;
        $(".client").each(function () {
            allChecked = $(this).prop("checked");
            if (!allChecked) {
                return false;
            }
        });
        $("#chk-clients-all").prop("checked", allChecked);
    }
}

// HANDLES THE TOP CHECK ALL CHECKBOX
function client_all_onclick() {
    $(".client").prop("checked", $(this).prop("checked"));
}

-2

Basit ve NOKTA:

jQuery - Bir düğmeye veya div veya etiket öğesine tıklandığında. Sayfadaki tüm onay kutularını işaretleyin. Daha spesifik hale getirmek için: onay kutusunu ayarlamanız gerektiğini unutmayın.

jQuery("#My-Button").click(function() {

  jQuery(':checkbox').each(function() {
    if(this.checked == true) {
      this.checked = false;                        
    } else {
      this.checked = true;                        
    }      
  });

});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.