Mam wiele pól wyboru na mojej stronie i jest tam pole wyboru zaznacz wszystko, które zaznacza wszystkie pola wyboru. W jakiś sposób chcę emulować to kliknięcie pola wyboru, nawet jeśli jest zaznaczone / niezaznaczone za pomocą przycisku zaznacz wszystko. Jak mogę to zrobić?
javascript
jquery
checkbox
dom-events
Jishnu AP
źródło
źródło
$('#foo').click()
, co skutecznie robi to samo.trigger('click')
przełącza bieżącą wartość. Jeśli chcesz to po prostu ustawić, ustawchecked
na true, a następnie wywołaj triggerHandler (...) stackoverflow.com/questions/10268222/ ...Uzyskiwanie statusu sprawdzenia
var checked = $("#selectall").is(":checked");
Następnie do ustawienia
$("input:checkbox").attr("checked",checked);
źródło
attr
tak jak używamprop
obecnie, ale ta metoda sprawdza tylko pola, nie uruchamia zdarzenia kliknięcia dla każdego późniejMożesz też użyć
.change()
funkcjiNa przykład:
$('form input[type=checkbox]').change(function() { console.log('hello') });
źródło
nie gQuery
document.getElementById ('your_box'). onclick ();
Użyłem określonej klasy na moich polach wyboru.
var x = document.getElementsByClassName("box_class"); var i; for (i = 0; i < x.length; i++) { if(x[i].checked) x[i].checked = false; else x[i].checked = true; x[i].onclick(); }
źródło
Możesz również tego użyć, mam nadzieję, że możesz im służyć.
$(function(){ $('#elements input[type="checkbox"]').prop("checked", true).trigger("change"); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> <div id="elements"> <input type="checkbox" id="item-1" value="1"> Item 1 <br /> <input type="checkbox" id="item-2" value="2" disabled> Item 2 <br /> <input type="checkbox" id="item-3" value="3" disabled> Item 3 <br /> <input type="checkbox" id="item-4" value="4" disabled> Item 4 <br /> <input type="checkbox" id="item-5" value="5"> Item 5 </div>
źródło
Odpowiedzią może być funkcja wyzwalania z jQuery.
Dokumentacja jQuery mówi: Wszystkie programy obsługi zdarzeń dołączone za pomocą .on () lub jednej z jej metod skrótów są wyzwalane, gdy wystąpi odpowiednie zdarzenie. Można je jednak uruchomić ręcznie za pomocą metody .trigger (). Wywołanie .trigger () wykonuje programy obsługi w tej samej kolejności, w jakiej byłyby, gdyby zdarzenie zostało wyzwolone w sposób naturalny przez użytkownika
Dlatego najlepszym rozwiązaniem jednoprzewodowym powinno być:
$('.selector_class').trigger('click'); //or $('#foo').click();
źródło
$("#gst_show>input").change(function(){ var checked = $(this).is(":checked"); if($("#gst_show>input:checkbox").attr("checked",checked)){ alert('Checked Successfully'); } });
źródło