Czy możemy zobaczyć link na żywo lub plik jsFiddle dla twojego kodu?
Nitesh
3
Utwórz zestaw przycisków radiowych i umieść je w ukrytym div. Po kliknięciu obrazu ustaw ten konkretny przycisk opcji zaznaczony oznacza, że przy pierwszym kliknięciu obrazu ustaw pierwszy zaznaczony przycisk opcji i podobnie dla pozostałych dwóch. Jeśli nie masz, mogę również wyjaśnić za pomocą kodu.
<labelclass="rad"><inputtype="radio"name="rad1"value="a"><i></i> Radio 1</label><labelclass="rad"><inputtype="radio"name="rad1"value="b"checked><i></i> Radio 2</label><br><labelclass="ckb"><inputtype="checkbox"name="ckb1"value="a"checked><i></i> Checkbox 1</label><labelclass="ckb"><inputtype="checkbox"name="ckb2"value="b"><i></i> Checkbox 2</label>
+1 dla pseudo selektora, myślę, że w przeszłości używałem JavaScript do sprawdzania wybranych! To mnie nauczy ...
zik
3
Widoczność ukryta oznacza, że nie można jej kliknąć, a pozycja bezwzględna usuwa ją z przepływu dokumentu
99 problemów - Składnia to nie jedna
1
To doskonała odpowiedź. Dodam, że to samo działa type="checkbox"też.
Wtower
ok to jest fajne .. działa świetnie, podobno działa też na IE, ale tak naprawdę nie jest. obraz zachowuje się poprawnie, ale po przesłaniu formularza nie ma wyboru miniatury. Myślę, że używam nowego IE, który jest dostarczany z Win 8.1. Dowolny pomysł?
Junaid Rehman
3
Spóźniony na przyjęcie, ale uważaj z tym. Visibility:hiddenukryje dane wejściowe przed czytnikiem ekranu i duże „nie” z punktu widzenia ułatwień dostępu.
DPac
100
Przykład:
Heads-up! To rozwiązanie dotyczy tylko CSS.
Zalecam skorzystanie z CSS3, aby to zrobić, ukrywając domyślny przycisk opcji wejścia za pomocą reguł CSS3:
To było świetne! Zintegrowałem go z formularzem ASP.NET i zadziałało jak marzenie :)
Gus
Ten przykład nie działa w przeglądarce Firefox 49.0.2 pod XUbuntu 16.04.1
Sergey Kudriavtsev
@SergeyKudriavtsev być może kod wymaga aktualizacji (ta odpowiedź pochodzi z 2013 roku). Na szczęście kod jest otwarty dla każdego, kto może go ulepszyć. Wkrótce się tym przyjrzę. Twoje zdrowie.
Richard Cotrina,
U mnie działa dobrze w przeglądarce Firefox 60, Windows 10.
Trevor
Mam to działające dla zestawu 3 buźek. Teraz muszę mieć wiele wierszy w jednym formularzu, każdy z własnym zestawem uśmiechniętych twarzy. Mój problem polega na tym, że zmiana jednego wiersza powoduje zmianę wszystkich. Jakieś pomysły, która część musi zostać zmodyfikowana, aby to osiągnąć?
dave317
19
Możesz do tego użyć CSS.
HTML (tylko do wersji demonstracyjnej, można go dostosować)
Pozostaw przyciski opcji ukryte, a po kliknięciu obrazów zaznacz je za pomocą JavaScript i nadaj swojemu obrazowi styl tak, aby wyglądał jak wybrany. Oto znaczniki -
<div><inputtype="radio"id="shipadd1"value=1name="address"/><labelfor="shipadd1"></label>
value 1
</div><div><inputtype="radio"id="shipadd2"value=2name="address"/><labelfor="shipadd2"></label>
value 2
</div>
Odpowiedzi:
<label>
display:none
lubvisibility:hidden
ponieważ wpłynie to na dostępność)+
Nie zapomnij dodać klasy do swoich etykiet iw CSS zamiast tego użyj tej klasy .
Niestandardowe style i animacje
Oto zaawansowana wersja wykorzystująca
<i>
element i:after
pseudo:źródło
type="checkbox"
też.Visibility:hidden
ukryje dane wejściowe przed czytnikiem ekranu i duże „nie” z punktu widzenia ułatwień dostępu.Przykład:
Zalecam skorzystanie z CSS3, aby to zrobić, ukrywając domyślny przycisk opcji wejścia za pomocą reguł CSS3:
Podaję przykład kilka dni temu.
źródło
Możesz do tego użyć CSS.
HTML (tylko do wersji demonstracyjnej, można go dostosować)
CSS
jsFiddle
źródło
Pozostaw przyciski opcji ukryte, a po kliknięciu obrazów zaznacz je za pomocą JavaScript i nadaj swojemu obrazowi styl tak, aby wyglądał jak wybrany. Oto znaczniki -
i JS
CSS
źródło
Po prostu używając klasy, aby ukryć tylko niektóre ... na podstawie https://stackoverflow.com/a/17541916/1815624
źródło
Oto proste rozwiązanie interfejsu użytkownika jQuery oparte na poniższym przykładzie:
http://jqueryui.com/button/#radio
Zmodyfikowany kod:
jQueryUI dba o tło obrazu, dzięki czemu wiesz, który przycisk jest zaznaczony.
Uwaga: jeśli chcesz ustawić przycisk tak, aby był zaznaczony lub odznaczony przez Javascript, musisz wywołać funkcję odświeżania:
źródło
Obrazy można umieszczać w miejsce przycisków opcji za pomocą elementów label i span.
Przycisk radiowy powinien być ukryty,
Obraz można podać w tagu span,
Aby zmienić obraz po kliknięciu przycisku opcji, dodaj zaznaczony stan do tagu wejściowego,
Jeśli masz jakieś pytania, skorzystaj z następującego łącza, ponieważ znalazłem rozwiązanie z poniższego bloga, http://frontendsupport.blogspot.com/2018/06/cool-radio-buttons-with-images.html
źródło
Oto bardzo prosty przykład
Demo: http://jsfiddle.net/La8wQ/2471/
Ten przykład oparty na tej sztuczce: https://css-tricks.com/the-checkbox-hack/
Przetestowałem to na: Chrome, Firefox, Safari
źródło