Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozbudowa istniejącego skryptu - jQuery
parzol
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

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


Demo: parzol.ovh.org/

Kod:

  1.  
  2. <script language="javascript" src="jquery-1.3.2.min.js"></script>
  3. <script language="javascript">
  4. function makeSublist(parent,child,isSubselectOptional,childVal)
  5. {
  6. $("body").append("<select style='display:none;' id='"+parent+child+"'></select>");
  7. $('#'+parent+child).html($("#"+child+" option"));
  8.  
  9. var parentValue = $('#'+parent).attr('value');
  10. $('#'+child).html($("#"+parent+child+" .sub_"+parentValue).clone());
  11.  
  12. childVal = (typeof childVal == "undefined")? "" : childVal ;
  13. $("#"+child).val(childVal).attr('selected','selected');
  14.  
  15. $('#'+parent).change(function(){
  16. var parentValue = $('#'+parent).attr('value');
  17. $('#'+child).html($("#"+parent+child+" .sub_"+parentValue).clone());
  18. if(isSubselectOptional) $('#'+child).prepend("<option value='none' selected='selected'> -- Select -- </option>");
  19. $('#'+child).trigger("change");
  20. $('#'+child).focus();
  21. });
  22. }
  23.  
  24. $(document).ready(function()
  25. {
  26. makeSublist('child','grandsun', false, '');
  27. makeSublist('parent','child', false, '');
  28. });
  29.  
  30. </head>
  31.  
  32.  
  33.  
  34. <select id="parent">
  35. <option value="0">Kraj</option>
  36. <option value="1">Włochy</option>
  37. <option value="2">Francja</option>
  38.  
  39. <br /><br />
  40.  
  41. <select id="child">
  42. <option class="sub_0" value="0">Region</option>
  43. <option class="sub_1" value="1">Asyż</option>
  44. <option class="sub_1" value="2">Toskania</option>
  45. <option class="sub_1" value="3">Umbria</option>
  46. <option class="sub_2" value="4">Prowansja</option>
  47. <option class="sub_2" value="5">Paryż</option>
  48.  
  49. <br /><br />
  50.  
  51. <select id="grandsun">
  52. <option class="sub_0" value="0">Miasto</option>
  53. <option class="sub_1" value="1">Asyżowe miasto 1</option>
  54. <option class="sub_1" value="2">Asyżowe miasto 2</option>
  55. <option class="sub_1" value="3">Asyżowe miasto 3</option>
  56. <option class="sub_2" value="4">Toskania miasto 1</option>
  57. <option class="sub_2" value="5">Toskania miasto 2</option>
  58. <option class="sub_3" value="6">Umbria 1</option>
  59. <option class="sub_3" value="7">Umbria 2</option>
  60. <option class="sub_4" value="8">Prowansja 1</option>
  61. <option class="sub_4" value="9">Prowansja 2</option>
  62. <option class="sub_5" value="10">Paryż 1</option>
  63.  
  64. </form>
  65.  
  66. </body>
  67.  
  68. </html>
  69.  


Jak zrobić, aby pola wyboru Region i Miasto zawierały wszystkie dostępne wartości jeśli nie ma wskazanych konkretnych wartości rodzica? Chcę, aby na starcie wszystkie pola miały pełne opcje, po wybraniu np Kraju były do wyboru jedynie odpowiednie dla niego Region i Miasta. Tak samo gdy ktoś wybierze jedynie Region to pole Miasto ma zawierać jedynie przypisane dla niego wartości. Taki kaskadowy system. Mam nadzieję, że jest jasne co chcę uzyskać.

Z góry dzięki za wszelką pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


A bez js jak jest? Może akcje makeSublist wywołuj po onchange dla select
Go to the top of the page
+Quote Post
parzol
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

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


Wtedy wszystko się sypie a po dłuższej zabawie nawet wywala mi przeglądarkę (IE8)! Moim zdaniem wystarczy jedynie zmiana w kodzie tylko nie wiem za bardzo jak to ugryźć (IMG:style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 06:55