Jak więc pozwolić użytkownikowi tylko na zaznaczenie tylko jednego pola wyboru?
Wiem, że przyciski radiowe są „idealne”, ale dla moich celów ... tak nie jest.
Mam pole, w którym użytkownicy muszą wybrać jedną lub dwie opcje, ale nie obie. Problem polega na tym, że potrzebuję, aby moi użytkownicy również mogli odznaczyć swoją opcję, a tutaj przyciski radiowe zawodzą, ponieważ po wybraniu grupy musisz wybrać opcję.
Będę sprawdzać informacje przez php, ale nadal chciałbym ograniczyć użytkowników do jednej odpowiedzi, jeśli chcą jej udzielić.
Odpowiedzi:
Ten fragment kodu:
źródło
.radio
pomocne byłoby użycie selektora. Dzięki za zwrócenie uwagi :)Chciałbyś powiązać
change()
procedurę obsługi, aby zdarzenie było uruchamiane, gdy zmieni się stan pola wyboru. Następnie odznacz wszystkie pola wyboru oprócz tego, który uruchomił handler:Oto skrzypce
Jeśli chodzi o grupowanie, jeśli wszystkie pola wyboru „grupy” były rodzeństwem:
Możesz to zrobić:
Oto kolejne skrzypce
Jeśli pola wyboru są zgrupowane według innego atrybutu, takiego jak
name
:Możesz to zrobić:
Oto kolejne skrzypce
źródło
Przyciski radiowe są idealne. Potrzebujesz tylko trzeciej opcji „żadne”, która jest zaznaczona domyślnie.
źródło
Istnieje już kilka odpowiedzi na to pytanie opartych na czystym JS, ale żadna z nich nie jest tak zwięzła, jak bym chciał.
Oto moje rozwiązanie oparte na użyciu tagów nazw (podobnie jak w przypadku przycisków opcji) i kilku wierszach kodu JavaScript.
źródło
Powinno to działać dla dowolnej liczby pól wyboru w formularzu. Jeśli masz inne osoby, które nie są częścią grupy, skonfiguruj selektory odpowiednie wejścia.
źródło
Oto proste rozwiązanie HTML i JavaScript, które preferuję:
// funkcja js, aby umożliwić sprawdzanie tylko jednego pola wyboru dnia tygodnia na raz:
źródło
Niech ten kod ci pomoże.
Link roboczy Kliknij tutaj
źródło
Opierając się na odpowiedzi Billyonecana , możesz użyć następującego kodu, jeśli potrzebujesz tego fragmentu dla więcej niż jednego pola wyboru (zakładając, że mają one różne nazwy).
źródło
Chociaż prawdopodobnie najlepszym rozwiązaniem jest JS, można to zrobić tylko za pomocą HTML i CSS.
Tutaj masz fałszywy przycisk opcji, który jest tak naprawdę etykietą prawdziwego ukrytego przycisku opcji. W ten sposób uzyskasz dokładnie taki efekt, jakiego potrzebujesz.
Zobacz to tutaj: https://jsfiddle.net/tn70yxL8/2/
To zakłada, że potrzebujesz etykiet, których nie można wybrać.
Jeśli chcesz dołączyć etykiety, możesz technicznie uniknąć powtarzania etykiety „odznacz”, zmieniając jej tekst w CSS, zobacz tutaj: https://jsfiddle.net/7tdb6quy/2/
źródło
Przykład z AngularJs
źródło
Za pomocą zwykłego, starego javascript.
edycja: również możliwa
źródło
źródło
Jeśli ktoś potrzebuje rozwiązania bez zewnętrznych bibliotek javascript, może skorzystać z tego przykładu. Grupa pól wyboru umożliwiających wartości 0..1. Możesz kliknąć komponent pola wyboru lub powiązany tekst etykiety.
źródło
Moja wersja: użyj atrybutów danych i Vanilla JavaScript
źródło
Nekromancja:
I bez jQuery, dla takiej struktury pola wyboru:
zrobiłbyś to tak:
źródło
źródło