Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выбор подрубрик (https://javascript.ru/forum/dom-window/42865-vybor-podrubrik.html)

exponat 12.11.2013 15:03

Выбор подрубрик
 
Добрый день.
Есть такой код
//подкатегории
$('#vibor_rubrik').change(function(){
  $("#podrubr2").hide();
  $("#podrubr").load("page/d.php?act=podrub&mod=" + $(this).val(), function(){

      $('#vibor_podrubrik').change(function(){
        $("#podrubr2").show();
	$("#podrubr2").load("page/d.php?act=podrub&mod=" + $(this).val(), function(){
	});
	});
      });
});

На сколько я понял он скрывает и показывает подрубрики. Тут иерархия такова: Рубрика один (главная - #podrubr), рубрика два (дочерняя - #podrubr2). А как тут создать третью подрубрику (например #podrubr3)? Она должна появляться после того как будет выбрана #podrubr2. Функционал #podrubr3 должен быть такой как и в #podrubr2.
Спасисбо!

Rise 12.11.2013 15:25

Наверное так если следовать логике
$('#vibor_rubrik').change(function(){
	$('#podrubr2, #podrubr3').hide();
	$('#podrubr').load('page/d.php?act=podrub&mod=' + $(this).val(), function(){
		$('#vibor_podrubrik').change(function(){
			$('#podrubr2').show();
			$('#podrubr2').load('page/d.php?act=podrub&mod=' + $(this).val(), function(){
				$('#vibor_podrubrik2').change(function(){
					$('#podrubr3').show();
					$('#podrubr3').load('page/d.php?act=podrub&mod=' + $(this).val(), function(){
					});
				});
			});
		});
	});
});

exponat 12.11.2013 16:10

Наверное. Но у меня не получается тот результат который хочу...
А vibor_podrubrik2 и podrubr3 работают в следствие полученных результатов от podrubr2? Или просто из-за того что podrubr2 сработало?

Вот такой код работает при обращении к page/d.php?act=podrub&mod=
if ($act=='podrub') {
	
	  $skybase = mysql_query("SELECT `cat_id`,`cat_name` FROM `skyboard_cat` WHERE `cat_papa`='{$mod}' ORDER BY `cat_id`",$db) or die(mysql_error());
							if (mysql_num_rows($skybase) > 0)
							{
								$skyrow = mysql_fetch_array($skybase);
								echo '<select id="vibor_podrubrik" class="sel" style="width:207px; margin:10px 0 0px 0;" name="cat_id">';
								echo '<option selected="selected">Выберете подрубрику</option>';
								do { echo '<option value="'.$skyrow['cat_id'].'">'.$skyrow['cat_name'].'</option>';
									}
								while($skyrow = mysql_fetch_array($skybase));
								echo '</select>';
							}
							else { echo'';}

}


Это вывод подрубрик с БД. Извините что php сюда втягиваю.... Просто это может помочь понять что нужно добиться из того куска JS. На html странице после выбора podrubr2 то podrubr3 не выводится... Сейчас работает двохуровнивой вывод а хотелось бы добавить 3, 4 уровня....если это тут возможно....

Спасибо что отписали!

exponat 12.11.2013 17:55

Разобрался! Спасибо!


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