Jak mogę zresetować wszystkie pola wyboru w dokumencie za pomocą jQuery lub czystego JS?
javascript
jquery
checkbox
Parada uliczna
źródło
źródło
Jeśli chcesz skorzystać z funkcji resetowania formularza, lepiej użyj tego:
$('input[type=checkbox]').prop('checked',true);
LUB
$('input[type=checkbox]').prop('checked',false);
Wygląda na to, że
removeAttr()
nie można go zresetowaćform.reset()
.źródło
Powyższa odpowiedź nie działa dla mnie -
Następujące działały
$('input[type=checkbox]').each(function() { this.checked = false; });
Dzięki temu wszystkie pola wyboru nie są zaznaczone.
źródło
Używałem tego wcześniej:
$('input[type=checkbox]').prop('checked', false);
wydaje się, że .attr i .removeAttr nie działają w niektórych sytuacjach.
edycja: Zauważ, że w jQuery v1.6 i nowszych powinieneś używać
.prop('checked', false)
zamiast tego dla większej kompatybilności z różnymi przeglądarkami - zobacz https://api.jquery.com/propSkomentuj tutaj: Jak zresetować wszystkie pola wyboru za pomocą jQuery lub czystego JS?
źródło
W niektórych przypadkach pole wyboru może być zaznaczone domyślnie. Jeśli chcesz przywrócić domyślny wybór zamiast ustawiać go jako niezaznaczony, porównaj
defaultChecked
właściwość.$(':checkbox').each(function(i,item){ this.checked = item.defaultChecked; });
źródło
Javascript
var clist = document.getElementsByTagName("input"); for (var i = 0; i < clist.length; ++i) { clist[i].checked = false; }
jQuery
$('input:checkbox').each(function() { this.checked = false; });
Aby zrobić odwrotnie, zobacz: Zaznacz wszystkie pola wyboru według identyfikatora / klasy
źródło
$(":checkbox:checked").each(function () { this.click(); });
do niezaznaczonego pola wyboru, obróć swoją logikę na odwrót
źródło
Możesz wybrać, który element div lub część strony może mieć zaznaczone pola wyboru, a który nie. Natknąłem się na scenariusz, w którym mam dwa formularze na mojej stronie i jeden ma wstępnie wypełnione wartości (do aktualizacji), a inne muszą być wypełnione na nowo.
$('#newFormId input[type=checkbox]').attr('checked',false);
spowoduje to, że tylko pola wyboru w formularzu z id newFormId będą niezaznaczone.
źródło
Jak powiedział w odpowiedzi Tatu Ulmanena, użycie następującego skryptu wykona zadanie
$('input:checkbox').removeAttr('checked');
Ale, jak powiedział komentarz Blakomena , po wersji 1.6 lepiej jest użyć
jQuery.prop()
zamiast tego$('input:checkbox').prop('checked', false);
Zachowaj ostrożność podczas używania
jQuery.each()
go może powodować problemy z wydajnością. (równieżjQuery.find()
w takich przypadkach unikaj . Zamiast tego użyj każdego)$('input[type=checkbox]').each(function() { $(this).prop('checked', false); });
źródło
Użyłem czegoś takiego
$(yourSelector).find('input:checkbox').removeAttr('checked');
źródło
źródło