Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> uaktywnienie <select> radiobuttonem, uaktywnienie <select> radiobuttonem
vojtasek
post 7.09.2011, 10:23:49
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

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


Witam napisałem takie coś:
plik index.php
  1. <div>
  2. <form name="aradio">
  3.  
  4. <input name="aoption" value="activ" onClick="assen()" type="radio">Stahl</br>
  5. <select name="option" disabled="disabled">
  6. <option>150</option>
  7. <option>200</option>
  8. <option>250</option>
  9. <option>170</option>
  10. <option>300</option>
  11. <option>350</option>
  12. <option>400</option>
  13. <option>500</option>
  14. <option>700</option>
  15. </select></br>
  16. </form></div>


i funkcję:
  1. function assen()
  2. {
  3. document.forms[0].option.disabled=false;
  4. document.forms[0].option.value="";
  5. for(var i=0;i<document.forms[0].elements.length;i++)
  6. {
  7. if(document.forms[0].elements[i].value=="activ")
  8. {
  9. if(document.forms[0].elements[i].checked==true){
  10. document.forms[0].option.disabled=false;
  11. }
  12. }
  13. }
  14. }


problem jest taki że mi to nie działa a do tego forma w div chciałbym dodać jeszcze 2 możliwości uaktywniania <select>

ma to działać tak że jak wybiorę Stahl czyli radio stanie się zaznaczony uaktywni <select> bym mógł wybrać z niego wartość.

Grupa radio będzie sztuk 3 i każdy radio będzie miał <select>.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mortus
post 7.09.2011, 11:11:15
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


A nie łatwiej tak:
  1. <form action="" method="post">
  2. <p><input type="radio" name="aoption" value="option" onchange="activate(this); return false;" />Stah1</p>
  3. <p>
  4. <select id="option" name="option" disabled="disabled">
  5. <!-- options -->
  6. </select>
  7. </p>
  8. </form>
  9. <script type="text/javascript">
  10. function activate(element) {
  11. if(element.checked) document.getElementById(element.value).disabled = "";
  12. }

Tylko pamiętaj, że pole typu radio jest zaznaczone zawsze, jeśli już raz je zaznaczysz. No chyba, że masz kilka pól radio o tej samej nazwie.
Go to the top of the page
+Quote Post
askone
post 7.09.2011, 11:33:09
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Ewentualnie spróbuj coś takiego link

edit
Cytat(mortus @ 7.09.2011, 12:11:15 ) *
A nie łatwiej tak:
  1. <form action="" method="post">
  2. <p><input type="radio" name="aoption" value="option" onchange="activate(this); return false;" />Stah1</p>
  3. <p>
  4. <select id="option" name="option" disabled="disabled">
  5. <!-- options -->
  6. </select>
  7. </p>
  8. </form>
  9. <script type="text/javascript">
  10. function activate(element) {
  11. if(element.checked) document.getElementById(element.value).disabled = "";
  12. }

Tylko pamiętaj, że pole typu radio jest zaznaczone zawsze, jeśli już raz je zaznaczysz. No chyba, że masz kilka pól radio o tej samej nazwie.


Wydaje mi się, że w Twoim przykładzie this będzie odwoływało się do elementu window, a nie do elementu input... Aby this odwoływało się prawidłowo funkcja obsługująca zdarzenie onchange musiałaby zostać podpięta poprzez input.onchange = activate();

Pozdrawiam

Ten post edytował askone 7.09.2011, 11:36:16


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
mortus
post 7.09.2011, 19:32:05
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


@askone Źle Ci się wydaje smile.gif
Go to the top of the page
+Quote Post
askone
post 8.09.2011, 07:17:55
Post #5





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Cytat(mortus @ 7.09.2011, 20:32:05 ) *
@askone Źle Ci się wydaje smile.gif


Faktycznie coś mi się pomieszało smile.gif - Zresztą sam z tego korzystam....


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
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: 14.08.2025 - 14:47