Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][HTML] Obrazkowy formularz radio
Forum PHP.pl > Forum > Przedszkole
Albinos
Witam, mam mały problem gdyż chcę zrobić sobie prosty formularz z polami jednokrotnego wyboru.

3 wiersze z 4 opcjami, i jest tak że conajmniej 1 pole z 4 opcji w każdym wierszu musi być zaznaczone.
Wszytko działa ale teraz zamiast tej ikonki kropki którą zaznaczamy chciałbym aby były powiedzmy obrazki i ten który jest zaznaczony to ma obramowanie powiedzmy 2 piksele jakiegoś koloru.
Czy da się to zrobić w html/css czy w js?
Pozdrawiam
b4rt3kk
Tutaj masz jak to zrobić w css:

http://www.wufoo.com/2011/06/13/custom-rad...and-checkboxes/
Albinos
Dzięki, ale chodzi o to że mam np po 4 produkty w 3 wierszach i kiedy klikam w obrazek produktu to go wybiera.
Tak jak na obrazku tylko bez kropek i jak wybieram jeden to ma border np taki jak namalowałem żółty wink.gif

b4rt3kk
W takim razie musisz obrazek opakować w label danego radio.

  1. <label><img src="jakis_obrazek.jpg"/><input type="radio"/></label>


Po kliknięciu w obrazek zaznaczy dane radio.
Albinos
Ok i dodałem sobie w scc dla label img border ale np hover działa, active też ale jak zrobić żeby border miał ten zaznaczony?
b4rt3kk
  1. .klasaRadio:checked + .klasaObrazka {
  2. border: 5px solid yellow;
  3. }
Albinos
Eh no właśnie z tymi selektorami problem:

Taki formularz jest:

Kod
<input type="hidden" name="wyslane" value="TRUE" />
            
                            
<p><h3>Tekst1</h3>
<label><img src="images/img1.jpg" alt="img1" /> <input type="radio" name="opcja1" value="T" /></label>
<label><img src="images/img1.jpg" alt="img2" /> <input type="radio" name="opcja1" value="K" /></label>
<label><img src="images/img1.jpg" alt="img3" /> <input type="radio" name="opcja1" value="S" /></label>
                <label><img src="images/img1.jpg" alt="img4" /> <input type="radio" name="opcja1" value="P" /></label>
                </p>
                
            
<p><h3>Tekst2</h3>
<label><img src="images/img1.jpg" alt="img1" /> <input type="radio" name="opcja2" value="1" /> </label>
<label><img src="images/img1.jpg" alt="img2" /> <input type="radio" name="opcja2" value="2" /></label>
<label><img src="images/img1.jpg" alt="img3" /> <input type="radio" name="opcja2" value="3" /></label>
<label><img src="images/img1.jpg" alt="img4" /> <input type="radio" name="opcja2" value="4" /> </label>
</p>
                
<p><h3>Tekst3</h3>
<label><img src="images/img1.jpg" alt="img1" /> <input type="radio" name="opcja3" value="A" /> </label>
<label><img src="images/img1.jpg" alt="img2" /> <input type="radio" name="opcja3" value="G" /> </label>
<label><img src="images/img1.jpg" alt="img3" /> <input type="radio" name="opcja3" value="S" /> </label>
<label><img src="images/img1.jpg" alt="img4" /> <input type="radio" name="opcja3" value="N" /> </label>
</p>            
            
<p>Tekst A <textarea name="teksta" cols="80"></textarea></p>
            
<p>Tekst B <textarea name="tekstb" cols="80"></textarea></p>
            
<p>Tekst C <textarea id="tresc" name="tekstc" cols="80" rows="10"></textarea></p>
            
            
<p><input type="submit" value="Wyślij" /></p>
    
</form>


I jakie muszę wpisać selektory w css?

//
Musi być :checked żeby była ramka gdy radio jest zaznaczone.
b4rt3kk
No nie wiem, spróbuj czegoś w tym rodzaju może. Wspomogłem się jQuery.

  1. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
  2. <script type="text/javascript">
  3. $(function(){
  4. $('input[type="radio"]').click(function(){
  5. $('.obrazek').attr('style', '');
  6. $(this).parent('label').children('img').attr('style', 'border: 5px solid yellow');
  7. });
  8. });
  9. </head>
  10.  
  11. <input type="hidden" name="wyslane" value="TRUE" />
  12.  
  13.  
  14. <p><h3>Tekst1</h3>
  15. <label><img src="images/img1.jpg" alt="img1" class="obrazek" /> <input class="opcja" type="radio"
  16.  
  17. name="opcja1" value="T" /></label>
  18. <label><img src="images/img1.jpg" alt="img2" class="obrazek" /> <input class="opcja"type="radio"
  19.  
  20. name="opcja1" value="K" /></label>
  21. <label><img src="images/img1.jpg" alt="img3" class="obrazek" /> <input class="opcja"type="radio"
  22.  
  23. name="opcja1" value="S" /></label>
  24. <label><img src="images/img1.jpg" alt="img4" class="obrazek" /> <input class="opcja"
  25.  
  26. type="radio" name="opcja1" value="P" /></label>
  27. </p>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.