Nie jestem ekspertem w zakresie jQuery, ale próbowałem stworzyć mały skrypt dla mojej aplikacji. Chcę zaznaczyć wszystkie pola wyboru, ale to nie działa poprawnie.
Najpierw próbowałem użyć, attr
a potem próbowałem, prop
ale robię coś źle.
Najpierw spróbowałem tego:
$("#checkAll").change(function(){
if (! $('input:checkbox').is('checked')) {
$('input:checkbox').attr('checked','checked');
} else {
$('input:checkbox').removeAttr('checked');
}
});
Ale to nie zadziałało.
Dalej: To działało lepiej niż powyższy kod
$("#checkAll").change(function(){
if (! $('input:checkbox').is('checked')) {
$('input:checkbox').prop('checked',true);
} else {
$('input:checkbox').prop('checked', false);
}
});
Oba przykłady nie działają.
JSFiddle: http://jsfiddle.net/hhZfu/4/
javascript
jquery
checkbox
Ivan
źródło
źródło
Odpowiedzi:
Aby ustawić zaznaczoną właściwość, musisz użyć .prop ()
Demo: Fiddle
źródło
ctrl+r
i klikam pole wyborucheckAll
, nie zaznacza mnie wszystkich. Następnie muszę ponownie sprawdzić, aby się powiodło. Więc potrzebuję 2x kliknięcia,checkAll
dlaczego to nie działa po jednym kliknięciu (jednym)? Kopiuję, wklejam ten kod i tworzę funkcjęcheckAll()
i ustawiamonclick="return checkAll()"
<elementtag id="someID" onclick="javascript code here"
--- Zamiast tego użyj jQuery:$('#someID').click(function() { checkAll() });
not(this).prop
?Po prostu użyj
checked
właściwościcheckAll
i użyj prop () zamiast attr dla sprawdzonej właściwościLive Demo
Użyj prop () zamiast attr () dla właściwości takich jak check
Masz ten sam identyfikator dla pól wyboru i powinien być unikalny . Lepiej użyj jakiejś klasy z zależnymi polami wyboru, aby nie zawierała pól wyboru , których nie chcesz. Tak jak
$('input:checkbox')
zaznaczy wszystkie pola wyboru na stronie. Jeśli Twoja strona zostanie rozszerzona o nowe pola wyboru, zostaną one również zaznaczone / odznaczone. Co może nie być zamierzonym zachowaniem.Live Demo
źródło
Pełne rozwiązanie jest tutaj.
HTML powinien być:
Pojedyncze pole wyboru na trzech zaznaczonych polach zostanie zaznaczone i odznaczone.
Mam nadzieję, że to komuś pomoże, tak jak dla mnie.
JS Fiddle https://jsfiddle.net/52uny55w/
źródło
$("#checkedAll").change
skrócić funkcję, zmieniając ją na:var val = this.checked; $(".checkSingle").each( function() { this.checked=val; });
isAllChecked
zmiennej naisThereUnchecked
lubunChecked
tak, aby była bardziej opisowa, do czego zmienna została użyta.Myślę, że gdy użytkownik zaznaczy wszystkie pola ręcznie, to checkall powinno być zaznaczone automatycznie lub użytkownik odznaczy jeden z nich ze wszystkich zaznaczonych pól wyboru, a następnie checkall powinno zostać automatycznie odznaczone. oto mój kod ..
źródło
Dlaczego nie spróbujesz tego (w drugiej linii, gdzie 'form #' musisz wstawić właściwy selektor swojego formularza HTML):
Twój html powinien wyglądać tak:
Mam nadzieję że to pomogło.
źródło
HTML:
jQuery:
Demo: FIDDLE
źródło
Najprościej znam:
$('input[type="checkbox"]').prop("checked", true);
źródło
źródło
Dla osób wciąż szukających wtyczki do kontrolowania pól wyboru za pomocą jednej, która jest lekka, ma gotową obsługę UniformJS i iCheck i zostaje odznaczona, gdy co najmniej jedno z kontrolowanych pól wyboru jest odznaczone (i zostaje zaznaczone, gdy wszystkie kontrolowane pola wyboru są zaznaczone Oczywiście) Stworzyłem wtyczkę jQuery checkAll .
Zapraszam do sprawdzenia przykładów na stronie dokumentacji .
W przypadku tego przykładu pytania wszystko, co musisz zrobić, to:
Czy to nie jest jasne i proste?
źródło
I jQuery
źródło
Możesz uruchomić
.prop()
wyniki selektora jQuery bezpośrednio, nawet jeśli zwraca więcej niż jeden wynik. Więc:$("input[type='checkbox']").prop('checked', true)
źródło
Zwykle chcesz również, aby pole wyboru master było odznaczone, jeśli co najmniej 1 pole wyboru slave jest odznaczone, i aby było sprawdzane, jeśli zaznaczone są wszystkie pola wyboru slave:
A jeśli chcesz włączyć dowolną kontrolę (np.
Remove All
Przycisk lubAdd Something
przycisk), gdy przynajmniej jedno pole wyboru jest zaznaczone i wyłącz, gdy nie jest zaznaczone pole wyboru:źródło
HTML
Kod jQuery
Zobacz demo
Kliknij tutaj, aby wyświetlić demo
źródło
użyj .prop (), aby uzyskać wartość właściwości
źródło
Wiem, że jest tutaj wiele odpowiedzi, ale chciałbym opublikować to w celu optymalizacji kodu i możemy go używać na całym świecie.
Robiłem co w mojej mocy
Mam nadzieję, że to pomoże!
źródło
źródło
checkall to identyfikator pola wyboru, a cb-child to nazwa każdego pola wyboru, które będzie zaznaczone i odznaczone w zależności od zdarzenia kliknięcia checkall
źródło
* SKRYPT JAVA, ABY WYBRAĆ WSZYSTKIE POLE DO ZADANIA *
Najlepsze rozwiązanie ... Wypróbuj
źródło
Możesz użyć poniższego prostego kodu:
Przykład użycia:
źródło
proszę zmienić powyższą linię na
w odpowiedzi SSR i działa idealnie Dziękuję
źródło
źródło
źródło
html:
javascript:
źródło
źródło
źródło
Trigger Click
LUB
LUB
źródło