Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Хитрый select (https://javascript.ru/forum/dom-window/29479-khitryjj-select.html)

bekas 29.06.2012 12:35

Хитрый select
 
Есть такой select. По умолчанию список значений формируется из базы.
<select name="rubrica" onchange="show_dop_menu(this);">
						<option value="">- рубрика -</option>
						<?for($j=0;$j<count($sel[$i]);$j++){?>
						<option value="<?=$sel[$i][$j]["id"]?>" <?if( ereg("/".$sel[$i][$j]["id"]."/",$ch["parent_chpu"]) )echo"selected";?> ><?=$sel[$i][$j]["name"]?></option>
						<?}?>
</select>


При изменении значения в нем происходит изменение другого selecta. При первоначальной загрузке страницы функция show_dop_menu(this) не отрабатывает, естественно. Нужно сделать так, чтобы она отрабатывала при загрузке страницы

bes 29.06.2012 13:00

Как по вашему описанию понять, что делает функция show_dop_menu(this)??

walik 29.06.2012 13:09

Ну так и вызывайте ее после загрузки
window.onload = function() {
   show_dop_menu(document.getElementsByName('rubrica')[0]);
}

bekas 29.06.2012 13:25

Функция show_dop_menu() меняет содержимое дива show_dop
<div class="show_dop"></div>
function show_dop_menu(obj){
			var id = $(obj).val();
			alert (id);
			switch(id) {
  
  case '466': {
    $('.show_dop').html('<h4>Дополнительная информация1</h4>');
	break;
  }
 case '465': {
    $('.show_dop').html('<h4>Дополнительная информация2</h4>');
	break;
  }
default: {
	$('.show_dop').html('');
    
  }
}
}

Получается, если я вновь создаю объявление, то при выборе selecta происходит изменение другого элемента, а если редактирую, то страница редактирования грузится с уже установленными параметрами <select name="rubrica"> и не дает отредактировать поле Дополнительная информация1,2 (onchange не отрабатывает)...

bes 29.06.2012 13:33

В принципе, я хотел сказать то же самое, что и walik, и дать ссылку на недавнюю тему http://javascript.ru/forum/dom-windo...tml#post184996, но так как меня опередили, не стал:)


Часовой пояс GMT +3, время: 12:34.