Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jscript - checked
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
ennics
mam taki problem

  1. function uncheckAll() {
  2. this.form.proc1_addresChange.checked=false;
  3. }
  4.  
  5. <input id="proc1" type="radio" name="proc" value="zm_st" onclick="javascript:{ uncheckAll(); }">
  6.  
  7. <input id="proc1_addresChange" type="radio" name="st_type" value="addrCh">

kiedy klikam na radio name="zm_st" nie "odznacza" się radio name="st_type"
coś jest nie tak w tej funkcji ale jestem zielony w jscript..
pomożecie ?
revyag
Kod
function uncheckAll(nam) {
    document.getElementById(nam).checked=false;
}


  1. <input id="proc1" type="radio" name="proc" value="zm_st" onclick="javascript:uncheckAll('proc1_addresChange')">
  2. <input id="proc1_addresChange" type="radio" name="st_type" value="addrCh">
  3. </form>
nospor
no ale panowie poco tak robić. Dac obu radio takie samo name, ale różne id i wszystko samo automatycznie bedzie sie robilo.
ennics
revyag to rozwiązanie będzie ok, dzięki,

nospor, nie mogę dać wszystkim radio takiej samej nazwy
bo to są nazwy zmiennych które przekazują wartości z formularza.
kszychu
Cytat(ennics @ 2005-01-21 11:18:06)
nospor, nie mogę dać wszystkim radio takiej samej nazwy

Generalnie radio do tego właśnie służy: by wybierać różne wartości dla jednej zmiennej. Trochę zagmatwałeś sobie ten kod...
ennics
ale jak mam wiele zmiennych którym mam przypisać różne wartości, np.

  1. <input id="proc1_wtstatTrue" type="radio" name="wtstat" value="t""> Pozytywny
  2. <input id="proc1_wtstatFalse" type="radio" name="wtstat" value="f"> Negatywny
  3.  
  4. <input id="proc1_nrKeepTrue" type="radio" name="zach" value="t"> Zachowany
  5. <input id="proc1_nrKeepFalse" type="radio" name="zach" value="f"> Zmieniony


to tylko część kodu, zmiennych i wartości któe przekazują jest o wiele więcej.
nospor
no to masz kilka grup radio. każda grupa bedzie miala takie samo name a różne id i wszystko gra.
Bo domyslam sie, ze mozesz zaznaczyc jednoczesnie jakies wtstat i jakies zach. Jesli tak to wlasnie to rozwiazanie jest cool
ennics
masz racje, używając nazw radio jako uchwytów będę miał przynajmniej o połowę mniej roboty winksmiley.jpg

nadal jednak gnębi mnie pytanie czy nie da się odznaczyć wszystkie radio na stronie za pomocą jednego kliknięcia
dr_bonzo
Da sie:
  1.  
  2. <head>
  3. <script type="text/javascript">
  4. function unselectRadios()
  5. {
  6. inputy = document.getElementsByTagName( 'input' );
  7.  
  8. for ( i = 0; i < inputy.length; i++ )
  9. {
  10. if ( inputy[ i ].hasAttribute( 'type' ) )
  11. {
  12. // dodany warunek
  13. ---8<---------------
  14. if ( inputy[ i ].type == 'radio' )
  15. {
  16. inputy[ i ].checked = false;
  17. }
  18. // ---------------8<---
  19. }
  20. }
  21. }
  22. </script>
  23. </head>
  24. <body>
  25. <form id="formularz">
  26. <input type="radio" name="r1" value="1"/><br/>
  27. <input type="radio" name="r1" value="2"/><br/>
  28. <input type="radio" name="r1" value="3" checked="checked"/><br/>
  29. <input type="radio" name="r1" value="4"/><br/>
  30. <hr />
  31. <input type="radio" name="r2" value="1" checked="checked"/><br/>
  32. <input type="radio" name="r2" value="2"/><br/>
  33. <input type="radio" name="r2" value="3"/><br/>
  34. <input type="radio" name="r2" value="4"/><br/>
  35.  
  36. <input type="button" onclick="unselectRadios()" />
  37. </form>
  38. </body>
  39. </html>


EDIT: dodalem poprzednio zapomniany warunek
ennics
Dzięki za odp.

niestety nie działa u mnie, mam IE 5.50...
dr_bonzo
No to zmien przegladarke. U mnie dziala na Operze 7.5 i FFoxie 1
ennics
bez problemu działa w tej postaci (wyciąłem pętle if)

  1. function unselectRadios() {
  2. inputy = document.getElementsByTagName( 'input' );
  3. for ( i = 0; i < inputy.length; i++ ) {
  4. inputy[ i ].checked = false;
  5. }
  6. }


jeszcze raz thX!
dr_bonzo
zapomnialem sprawdzac czy input jest radiobuttonem
Kod
                    if ( inputy[ i ].type == 'radio' )
                    {
                        inputy[ i ].checked = false;
                    }

---> Poprawiony post z calym kodem
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.