Mam stronę HTML z wieloma polami wyboru.
Potrzebuję jeszcze jednego pola wyboru o nazwie „wybierz wszystko”. Kiedy zaznaczę to pole wyboru, wszystkie pola wyboru na stronie HTML muszą być zaznaczone. W jaki sposób mogę to zrobić?
javascript
html
checkbox
selectall
użytkownik48094
źródło
źródło
CTRL+SHIFT+K
aby otworzyć konsolę, a następnie wklej :$("input:checkbox").attr('checked', true)
i naciśnijEnter
. Wszystkie pola wyboru na bieżącej stronie powinny być teraz zaznaczone. Aby odznaczyć zmianęTrue
naFalse
.Odpowiedzi:
AKTUALIZACJA:
for each...in
Konstrukt nie wydają się działać, przynajmniej w tym przypadku, w Safari 5 lub Chrome 5. Ten kod powinien działać we wszystkich przeglądarkach:źródło
for(var i in checkboxes) checkboxes[i].checked = source.checked
działa we wszystkich przeglądarkach.for in
z kolekcją lub tablicą, n=checkboxes.length;i<n
zamiast po prostui < checkboxes.length
? W każdym razie, aby uczynić funkcję ogólną (ponowne użycie kodu), przekaż dodatkowy parametr:(source, checkboxes_name)
i zróbdocument.getElementsByName(checkboxes_name);
To lepiej niż na sztywno zakodować nazwę i uczynić funkcję specyficzną dla określonego zestawu pól wyboru.for(let checkbox of checkboxes)
.Korzystanie z jQuery :
HTML:
źródło
Nie jestem pewien, że nikt nie odpowiedział w ten sposób (używając jQuery ):
Jest czysty, nie ma pętli ani klauzul if / else i działa jak urok.
źródło
Aby to odznaczyć:
źródło
this.checked
zamiastDziwię się, że nikt nie wspomniał
document.querySelectorAll()
. Rozwiązanie Pure JavaScript, działa w IE9 +.źródło
Demo http://jsfiddle.net/H37cb/
źródło
attr()
metoda. zmieniłem naprop()
Nieznacznie zmieniona wersja, która z szacunkiem sprawdza i odznacza
źródło
Kiedy zadzwonisz
document.getElementsByName("name")
, otrzymaszObject
. Użyj,.item(index)
aby przejść przez wszystkie elementyObject
HTML:
źródło
źródło
Moje proste rozwiązanie pozwala wybiórczo zaznaczyć / odznaczyć wszystkie pola wyboru w danej części formularza , przy użyciu różnych nazw dla każdego pola wyboru, dzięki czemu można je łatwo rozpoznać po wysłaniu formularza.
JavaScript:
Przykład HTML:
Mam nadzieję, że to lubisz!
źródło
Wypróbuj tę prostą aplikację JQuery:
źródło
$(':checkbox').prop('checked', this.checked)
, bez potrzeby warunkowego.JavaScript jest najlepszym wyborem. Poniższy link podaje przykład za pomocą przycisków do de / select all. Możesz spróbować dostosować go, aby używał pola wyboru, wystarczy użyć „zaznacz wszystko” pole wyboru atrybutuClick.
Funkcja Javascript, aby zaznaczyć lub odznaczyć wszystkie pola wyboru
Ta strona ma prostszy przykład
http://www.htmlcodetutorial.com/forms/_INPUT_onClick.html
źródło
Ten przykład działa z natywnym JavaScriptem, w którym nazwa zmiennej pola wyboru jest różna, tzn. Nie wszystkie „foo”.
źródło
getcheckboxes
funkcja może być zastąpiona przezdocument.querySelectorAll('input[type=checkbox]');
źródło
powinno to wykonać wykonaną pracę:
źródło
źródło
Korzystanie z jQuery i nokaut:
Ponieważ to wiążące główne pole wyboru pozostaje zsynchronizowane z leżącymi u jego podstaw polami wyboru, nie będzie zaznaczone, chyba że wszystkie pola wyboru zostaną zaznaczone.
w html:
źródło
Możesz mieć różne zestawy pól wyboru w tym samym formularzu . Oto rozwiązanie, które zaznacza / odznacza pola wyboru według nazwy klasy, używając waniliowej funkcji javascript document.getElementsByClassName
Przycisk Wybierz wszystko
Niektóre pola wyboru do wyboru
Javascript
źródło
Tak właśnie się stanie, na przykład, jeśli masz 5 pól wyboru i klikniesz zaznacz wszystko, zaznacz wszystko, teraz, jeśli odznaczysz wszystkie pola wyboru prawdopodobnie klikając każde 5 pól wyboru, do czasu odznaczenia ostatniego pola wyboru wybierz wszystkie pola wyboru również są odznaczone
źródło
Ponieważ nie mogę komentować, tutaj jako odpowiedź: napisałbym rozwiązanie Can Berk Güder w bardziej ogólny sposób, abyś mógł ponownie użyć funkcji dla innych pól wyboru
źródło
Jeśli przyjmujesz najwyższą odpowiedź dla jquery, pamiętaj, że obiekt przekazany do funkcji kliknięcia to EventHandler, a nie oryginalny obiekt pola wyboru. Dlatego kod powinien zostać zmodyfikowany w następujący sposób.
HTML
JavaScript
źródło
Oto implementacja backbone.js:
źródło
HTML
javascript
źródło
1: Dodaj moduł obsługi zdarzenia wymiany
2: Zmodyfikuj kod, aby obsługiwał zaznaczone / niezaznaczone
źródło
Poniższe metody są bardzo łatwe do zrozumienia i możesz wdrożyć istniejące formularze w kilka minut
w formie HTML umieść poniżej przycisków
w formie HTML umieść poniżej przycisków
źródło
Możesz użyć tego prostego kodu
źródło
zrobić to w wersji krótkiej, używając jQuery
Zaznacz wszystko
Pole wyboru dzieci
jQuery
źródło
Może trochę późno, ale jeśli chodzi o pole wyboru zaznacz wszystko, uważam, że powinieneś również obsłużyć scenariusz, w którym zaznaczono pole wyboru zaznacz wszystko, a następnie odznacz jedno z poniższych pól wyboru.
W takim przypadku należy automatycznie odznaczyć pole wyboru zaznacz wszystko.
Również podczas ręcznego zaznaczania wszystkich pól wyboru należy skończyć z automatycznym zaznaczaniem pola wyboru wszystkie.
Potrzebujesz dwóch programów obsługi zdarzeń, jednego do zaznaczenia pola wyboru i jednego do kliknięcia jednego z poniższych pól poniżej.
źródło
Prosto i na temat:
jQuery - po kliknięciu przycisku, elementu div lub elementu etykiety. Zaznacz wszystkie pola wyboru na stronie. Pamiętaj, że musisz dostosować: pole wyboru, aby było bardziej szczegółowe.
źródło