Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML] Input Type Radio w img, Prosze o pomoc :D
Komarek
post 9.03.2011, 16:46:07
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

Ostrzeżenie: (0%)
-----


Witam
Na wstępie powiem ze nigdzie nie znalazlem rozwiazania na moj problem chociaz troche juz googlowalem ;]

Chce ogolnie zrobic obrazkowe 'radio'

Obrazek1
Obrazek1-wcisniety
Obrazek2
Obrazek2-wcisniety

I mam proste 2 obrazki obok siebie, po zaznaczeniu ktoregos z nich zmienia sie na drugi obrazek (tak jak rollover ale dopiero po zaznaczeniu)
No i powinny dzialac tak jak input type=radio ;p

Jezeli jest inna mozliwosc to prosilbym o pomoc w polaczeniu tego z formularzem.

Bardzo prosze o pomoc.
Pozdrawiam, Komarek
Go to the top of the page
+Quote Post
ixpack
post 9.03.2011, 17:07:34
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

Ostrzeżenie: (0%)
-----


Input ustaw na display:none;
Dodaj label dla każdego radio -> label to obrazek. (Edit: Problem zostaje przy zaznaczonym radio -> tylko w css3 i w js można podmienć obrazek... Bez css3 lub js zostanie obrazek i nawet gdy będzie zaznaczone radio - obrazek będzie taki sam...)

Przykład (z użyciem jquery):

  1. <div class="jq_sizes">
  2. <input type="radio" id="uni1" name="jv_size" value="9" style="display:none;" /><label for="uni1">XXS</label>
  3. <input type="radio" id="uni2" name="jv_size" value="10" style="display:none;" /><label for="uni2">XS</label>
  4. <input type="radio" id="uni3" name="jv_size" value="11" style="display:none;" /><label for="uni3">S</label>
  5. </div>


Oczywiście ja użyłem jquery i _buttonset();
Trochę css zmieniłem i wygląda wyśmienicie wink.gif - jeszcze formularza nie podrzuciłem na serwer także linka nie dam...

Teraz jeżeli chcesz zmienić wygląd obrazka, radia zaznaczonego - > bez javy idzie zrobić w css3, ale nie każda przeglądarka to obsługuje tu jest co i jak

No i pozostaje "tradycyjny" jquery - to już możesz wygooglować wink.gif (radio + jquery).

Pozdr.

Ps. Jak pomęczysz, a nie zrobisz - to wstawię coś "po chłopsku", ale narazie w pracy jestem ;]

Ten post edytował ixpack 9.03.2011, 17:21:29


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Komarek
post 9.03.2011, 17:54:28
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

Ostrzeżenie: (0%)
-----


@up:
kojarzy mi sie ze probowalem tego rozwiazania, i po usunieciu S, XS, czy tez XXS, skrypt po prostu glupieje.

Pozatym nie wiem czy mnie zrozumiales do konca, podales linka do stronki w ktorej jest przyklad z grafika jako radio (bylem tam zreszta), jednak ja potrzebuje takiego gdzie kazde inne radio bedzie mialo rozna grafike podstawowa i rozna checked ;p
Go to the top of the page
+Quote Post
ixpack
post 10.03.2011, 15:24:29
Post #4





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

Ostrzeżenie: (0%)
-----


Pokombinowałem i coś wymodziłem:

  1. <title>Javascript radio</title>
  2. <script type="text/javascript" src="./jquery/jQuery.js"></script> <!-- OCZYWISCIE ZESSAC TRZEBA JQUERY -->
  3. <script type="text/javascript">
  4.  
  5. <!-- Tu do sprawdzenia wartosci zaznaczonego radio -->
  6. function getCheckedValue(radioObj) {
  7. if(!radioObj)
  8. return "";
  9. var radioLength = radioObj.length;
  10. if(radioLength == undefined)
  11. if(radioObj.checked)
  12. return radioObj.value;
  13. else
  14. return "";
  15. for(var i = 0; i < radioLength; i++) {
  16. if(radioObj[i].checked) {
  17. return radioObj[i].value;
  18. }
  19. }
  20. return "";
  21. }
  22.  
  23. <!-- A tu nasza magia ;) -->
  24. function setCheckedValue(radioObj, newValue) {
  25. if(!radioObj)
  26. return;
  27. var radioLength = radioObj.length;
  28. if(radioLength == undefined) {
  29. radioObj.checked = (radioObj.value == newValue.toString());
  30. return;
  31. }
  32.  
  33. for(var i = 0; i < radioLength; i++) {
  34. radioObj[i].checked = false;
  35. if(radioObj[i].value == newValue.toString()) {
  36. radioObj[i].checked = true;
  37. $("#"+radioObj[i].id+"x").addClass(radioObj[i].id); <!-- jQuery -->
  38. }
  39. else $("#"+radioObj[i].id+"x").removeClass(radioObj[i].id); <!-- jQuery -->
  40. }
  41.  
  42. }
  43. <style type="text/css">
  44. <!-- Oczywiście ustawiamy sobie css buttonow, ktore powiazane sa z raio - obrazki tez wchodza w gre... -->
  45. .niezaznaczone {
  46. background-color: blue;
  47. }
  48.  
  49. .niezaznaczone2 {
  50. background-color: red;
  51. }
  52.  
  53. .jeden {
  54. background-color: #006;
  55. }
  56.  
  57. .dwa {
  58. background-color: #600;
  59. }
  60.  
  61. </head>
  62.  
  63. <form name="radioForm" method="get" action="" onsubmit="return false;"> <!-- oczywiscie to false trzeba usunac -->
  64. <p style="display:none;"> <!-- chowamy radio - a w noscripcie wstawiamy zwykle radiobuttony jakby js nie bylo obslugiwane... -->
  65. <label class="jeden" for="jeden"><input type="radio" value="1" name="numer" id="jeden"></label>
  66. <label class="dwa" for="dwa"><input type="radio" value="2" name="numer" id="dwa"></label>
  67. </p>
  68.  
  69. <input type="button" onclick="alert('Wartosc: '+getCheckedValue(document.forms['radioForm'].elements['numer']));" value="Pokaz wartosc">
  70.  
  71. <!-- id radia + x daje nam id buttona -->
  72. <input id="jedenx" class="niezaznaczone" type="button" onclick="setCheckedValue(document.forms['radioForm'].elements['numer'], '1');" value="Ustaw jeden">
  73. <input id="dwax" class="niezaznaczone2" type="button" onclick="setCheckedValue(document.forms['radioForm'].elements['numer'], '2');" value="Ustaw dwa">
  74.  
  75. <input type="button" onclick="setCheckedValue(document.forms['radioForm'].elements['numer'], '');" value="Wyczysc">
  76. </form>
  77.  
  78. </body>
  79. </html>


Teraz wszystko w Twoich łapach - zmień css, ustaw obrazki, podepnij jquery i będzie ok wink.gif


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:26