Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] dynamiczny select
Forum PHP.pl > Forum > Przedszkole
lilik
Witam
mam cos takiego
<script>
t.selects['rodzaj'].options['mieszkanie'].createOption('2 - pokoje', 'mt2');
</script>
jak to mozna oznaczyc jako selected="selected" w danym select'cie
arecki
  1. t.selects['rodzaj'].options['mieszkanie'].createOption('2 - pokoje', 'mt2');
  2. var selects = document.getElementsByTagName('select');
  3. selects['rodzaj'].options['mt2'].setAttribute('selected', 'selected');
lilik
niestety nei dziala to sad.gif
arecki
Działa działa tylko pewnie chodziło Ci o to żeby dodana opcja ustawiała się od razu na domyślną. A to zrealizujesz dzięki:

  1. t.selects['rodzaj'].options['mieszkanie'].createOption('2 - pokoje', 'mt2');
  2. var selects = document.getElementsByTagName('select');
  3. selects['rodzaj'].options['mt2'].selected = true;
lilik
w ogole nie dziala, skrypt zglasza blad :/
arecki
Może napisz jaki bo szklana kula w serwisie. A poza tym to zainstaluj firefoxa + Firebuga i bardzo ci pomoże w znajdowaniu błędów.
lilik
a cy np juz funkcja createOption nie ma jakiego znacznika selected questionmark.gif


a to caly skrypt jaki mam

  1.  
  2. var t = new dynamicSelect();
  3.  
  4. t.addSelect('rodzaj');
  5.  
  6. t.selects['rodzaj'].addOption('dom');
  7. t.selects['rodzaj'].options['dom'].createOption('Obojętny', '');
  8. t.selects['rodzaj'].options['dom'].createOption('Szeregowy', 'dt1');
  9. t.selects['rodzaj'].options['dom'].createOption('Wolno stojący', 'dt2');
  10. t.selects['rodzaj'].options['dom'].createOption('Bliźniak', 'dt3');
  11.  
  12. t.selects['rodzaj'].addOption('dzialka');
  13. t.selects['rodzaj'].options['dzialka'].createOption('Obojętny', '');
  14. t.selects['rodzaj'].options['dzialka'].createOption('Budowlnana', 'dzt1');
  15. t.selects['rodzaj'].options['dzialka'].createOption('Rekreacyjna', 'dzt2');
  16. t.selects['rodzaj'].options['dzialka'].createOption('Przemysłowa', 'dzt3');
  17.  
  18. t.selects['rodzaj'].addOption('grunt');
  19. t.selects['rodzaj'].options['grunt'].createOption('Obojętny', '');
  20. t.selects['rodzaj'].options['grunt'].createOption('Rolny', 'gt1');
  21. t.selects['rodzaj'].options['grunt'].createOption('Leśny', 'gt2');
  22.  
  23. t.selects['rodzaj'].addOption('mieszkanie');
  24. t.selects['rodzaj'].options['mieszkanie'].createOption('Obojętny', '');
  25. t.selects['rodzaj'].options['mieszkanie'].createOption('1 - pokój', 'mt1');
  26. t.selects['rodzaj'].options['mieszkanie'].createOption('2 - pokoje', 'mt2');
  27. t.selects['rodzaj'].options['mieszkanie'].createOption('3 - pokoje', 'mt3');
  28. t.selects['rodzaj'].options['mieszkanie'].createOption('4 - pokje', 'mt4');
  29. t.selects['rodzaj'].options['mieszkanie'].createOption('5 - pokoi', 'mt5');
  30. t.selects['rodzaj'].options['mieszkanie'].createOption('Więcej', 'mt6');
  31.  
  32. t.selects['rodzaj'].addOption('apartament');
  33. t.selects['rodzaj'].options['apartament'].createOption('Obojętny', '');
  34. t.selects['rodzaj'].options['apartament'].createOption('1 - pokój', 'at1');
  35. t.selects['rodzaj'].options['apartament'].createOption('2 - pokoje', 'at2');
  36. t.selects['rodzaj'].options['apartament'].createOption('3 - pokoje', 'at3');
  37. t.selects['rodzaj'].options['apartament'].createOption('4 - pokje', 'at4');
  38. t.selects['rodzaj'].options['apartament'].createOption('5 - pokoi', 'at5');
  39. t.selects['rodzaj'].options['apartament'].createOption('Więcej', 'at6');
  40.  
  41. t.selects['rodzaj'].addOption('obiekt');
  42. t.selects['rodzaj'].options['obiekt'].createOption('Obojętny', '');
  43. t.selects['rodzaj'].options['obiekt'].createOption('Gastronomiczny', 'ob1');
  44. t.selects['rodzaj'].options['obiekt'].createOption('Przemysłowy', 'ob2');
  45. t.selects['rodzaj'].options['obiekt'].createOption('Rekreacyjny', 'ob3');
  46. t.selects['rodzaj'].options['obiekt'].createOption('Garaże', 'ob4');
  47. t.selects['rodzaj'].options['obiekt'].createOption('Pensjonaty', 'ob5');
  48. t.selects['rodzaj'].options['obiekt'].createOption('Inne', 'ob6');
  49.  
  50. var p = new dynamicSelect();
  51.  
  52. p.addSelect('rodzaj');
  53.  
  54. p.selects['rodzaj'].addOption('dom');
  55. p.selects['rodzaj'].options['dom'].createOption('Obojętny', '');
  56. p.selects['rodzaj'].options['dom'].createOption('Szeregowy', 'dt1');
  57. p.selects['rodzaj'].options['dom'].createOption('Wolno stojący', 'dt2');
  58. p.selects['rodzaj'].options['dom'].createOption('Bliźniak', 'dt3');
  59.  
  60. p.selects['rodzaj'].addOption('dzialka');
  61. p.selects['rodzaj'].options['dzialka'].createOption('Obojętny', '');
  62. p.selects['rodzaj'].options['dzialka'].createOption('Budowlnana', 'dzt1');
  63. p.selects['rodzaj'].options['dzialka'].createOption('Rekreacyjna', 'dzt2');
  64. p.selects['rodzaj'].options['dzialka'].createOption('Przemysłowa', 'dzt3');
  65.  
  66. p.selects['rodzaj'].addOption('grunt');
  67. p.selects['rodzaj'].options['grunt'].createOption('Obojętny', '');
  68. p.selects['rodzaj'].options['grunt'].createOption('Rolny', 'gt1');
  69. p.selects['rodzaj'].options['grunt'].createOption('Leśny', 'gt2');
  70.  
  71. p.selects['rodzaj'].addOption('mieszkanie');
  72. p.selects['rodzaj'].options['mieszkanie'].createOption('Obojętny', '');
  73. p.selects['rodzaj'].options['mieszkanie'].createOption('1 - pokój', 'mt1');
  74. p.selects['rodzaj'].options['mieszkanie'].createOption('2 - pokoje', 'mt2');
  75. p.selects['rodzaj'].options['mieszkanie'].createOption('3 - pokoje', 'mt3');
  76. p.selects['rodzaj'].options['mieszkanie'].createOption('4 - pokje', 'mt4');
  77. p.selects['rodzaj'].options['mieszkanie'].createOption('5 - pokoi', 'mt5');
  78. p.selects['rodzaj'].options['mieszkanie'].createOption('Więcej', 'mt6');
  79.  
  80. p.selects['rodzaj'].addOption('apartament');
  81. p.selects['rodzaj'].options['apartament'].createOption('Obojętny', '');
  82. p.selects['rodzaj'].options['apartament'].createOption('1 - pokój', 'at1');
  83. p.selects['rodzaj'].options['apartament'].createOption('2 - pokoje', 'at2');
  84. p.selects['rodzaj'].options['apartament'].createOption('3 - pokoje', 'at3');
  85. p.selects['rodzaj'].options['apartament'].createOption('4 - pokje', 'at4');
  86. p.selects['rodzaj'].options['apartament'].createOption('5 - pokoi', 'at5');
  87. p.selects['rodzaj'].options['apartament'].createOption('Więcej', 'at6');
  88.  
  89. p.selects['rodzaj'].addOption('obiekt');
  90. p.selects['rodzaj'].options['obiekt'].createOption('Obojętny', '');
  91. p.selects['rodzaj'].options['obiekt'].createOption('Gastronomiczny', 'ob1');
  92. p.selects['rodzaj'].options['obiekt'].createOption('Przemysłowy', 'ob2');
  93. p.selects['rodzaj'].options['obiekt'].createOption('Rekreacyjny', 'ob3');
  94. p.selects['rodzaj'].options['obiekt'].createOption('Garaże', 'ob4');
  95. p.selects['rodzaj'].options['obiekt'].createOption('Pensjonaty', 'ob5');
  96. p.selects['rodzaj'].options['obiekt'].createOption('Inne', 'ob6');
  97.  
  98. var c = new dynamicSelect();
  99.  
  100. c.addSelect('rodzaj');
  101.  
  102. c.selects['rodzaj'].addOption('dom');
  103. c.selects['rodzaj'].options['dom'].createOption('Obojętny', '');
  104. c.selects['rodzaj'].options['dom'].createOption('Szeregowy', 'dt1');
  105. c.selects['rodzaj'].options['dom'].createOption('Wolno stojący', 'dt2');
  106. c.selects['rodzaj'].options['dom'].createOption('Bliźniak', 'dt3');
  107.  
  108. c.selects['rodzaj'].addOption('dzialka');
  109. c.selects['rodzaj'].options['dzialka'].createOption('Obojętny', '');
  110. c.selects['rodzaj'].options['dzialka'].createOption('Budowlnana', 'dzt1');
  111. c.selects['rodzaj'].options['dzialka'].createOption('Rekreacyjna', 'dzt2');
  112. c.selects['rodzaj'].options['dzialka'].createOption('Przemysłowa', 'dzt3');
  113.  
  114. c.selects['rodzaj'].addOption('grunt');
  115. c.selects['rodzaj'].options['grunt'].createOption('Obojętny', '');
  116. c.selects['rodzaj'].options['grunt'].createOption('Rolny', 'gt1');
  117. c.selects['rodzaj'].options['grunt'].createOption('Leśny', 'gt2');
  118.  
  119. c.selects['rodzaj'].addOption('mieszkanie');
  120. c.selects['rodzaj'].options['mieszkanie'].createOption('Obojętny', '');
  121. c.selects['rodzaj'].options['mieszkanie'].createOption('1 - pokój', 'mt1');
  122. c.selects['rodzaj'].options['mieszkanie'].createOption('2 - pokoje', 'mt2');
  123. c.selects['rodzaj'].options['mieszkanie'].createOption('3 - pokoje', 'mt3');
  124. c.selects['rodzaj'].options['mieszkanie'].createOption('4 - pokje', 'mt4');
  125. c.selects['rodzaj'].options['mieszkanie'].createOption('5 - pokoi', 'mt5');
  126. c.selects['rodzaj'].options['mieszkanie'].createOption('Więcej', 'mt6');
  127.  
  128. c.selects['rodzaj'].addOption('apartament');
  129. c.selects['rodzaj'].options['apartament'].createOption('Obojętny', '');
  130. c.selects['rodzaj'].options['apartament'].createOption('1 - pokój', 'at1');
  131. c.selects['rodzaj'].options['apartament'].createOption('2 - pokoje', 'at2');
  132. c.selects['rodzaj'].options['apartament'].createOption('3 - pokoje', 'at3');
  133. c.selects['rodzaj'].options['apartament'].createOption('4 - pokje', 'at4');
  134. c.selects['rodzaj'].options['apartament'].createOption('5 - pokoi', 'at5');
  135. c.selects['rodzaj'].options['apartament'].createOption('Więcej', 'at6');
  136.  
  137. c.selects['rodzaj'].addOption('obiekt');
  138. c.selects['rodzaj'].options['obiekt'].createOption('Obojętny', '');
  139. c.selects['rodzaj'].options['obiekt'].createOption('Gastronomiczny', 'ob1');
  140. c.selects['rodzaj'].options['obiekt'].createOption('Przemysłowy', 'ob2');
  141. c.selects['rodzaj'].options['obiekt'].createOption('Rekreacyjny', 'ob3');
  142. c.selects['rodzaj'].options['obiekt'].createOption('Garaże', 'ob4');
  143. c.selects['rodzaj'].options['obiekt'].createOption('Pensjonaty', 'ob5');
  144. c.selects['rodzaj'].options['obiekt'].createOption('Inne', 'ob6');
  145.  
  146.  
  147.  
  148. function dynamicSelect()
  149. {
  150. this.selects = new Array();
  151.  
  152. this.addSelect = function(name)
  153. {
  154. this.selects[name] = new selectObj();
  155. }
  156.  
  157.  
  158.  
  159. this.updateOptions = function(source, target)
  160. {
  161.  
  162. var form = source.form;
  163. var target = form.elements[target];
  164. var value = source.options[source.selectedIndex].value;
  165.  
  166. while(target.options.length) target.remove(0);
  167.  
  168. if(!this.selects[source.name].options[value])
  169. {
  170. //alert('Invalid selection.'); //For debugging while you set it up
  171. return;
  172. }
  173.  
  174. var data = this.selects[source.name].options[value].options;
  175.  
  176. for(var x=0; x<data.length; x++)
  177. {
  178. try
  179. {
  180. target.add(data[x]);
  181. }
  182. catch(e)
  183. {
  184. target.add(data[x], null);
  185. }
  186. }
  187.  
  188. target.selectedIndex = 0;
  189. }
  190.  
  191. }
  192.  
  193.  
  194.  
  195. function selectObj()
  196. {
  197. this.options = new Array();
  198.  
  199. this.addOption = function(value)
  200. {
  201. this.options[value] = new optionObj();
  202. }
  203. }
  204.  
  205.  
  206.  
  207. function optionObj()
  208. {
  209. this.options = new Array();
  210.  
  211. this.createOption = function(name, value)
  212. {
  213. this.options[this.options.length] = new Option(name, value);
  214. }
  215. }
arecki
No fajnie, tylko gdzie dodałeś to co Ci napisałem ?
lilik
zrobilem juz na innerHTML smile.gif ale dzieki za pomoc
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.