Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2011, 03:27
Интересующийся
Отправить личное сообщение для mixalic Посмотреть профиль Найти все сообщения от mixalic
 
Регистрация: 09.10.2011
Сообщений: 14

Подгрузка контента по select
Ребят, не ругайте. Знаю, тема наверное уже миллион раз обсосана. Но, как выяснилось с нахрапу и методом тыка js особо не понять, а сделать очень нужно. Второй день тыкаюсь, никак не получается, а работа из-за этой мелочи стопорится...

Собственно проблема. Есть file1.php:
<div id="step1">
   <select>
      <option>показать form1.php</option>
      <option>показать form2.php</option>
   </select>
</div>
<div id="step2"></div>

и есть отдельно html-формы. Нужно сделать так, чтобы при выборе соответствующей <option> в <div id="step2"></div> подгружалась соответствующая html-форма.

Заранее благодарен за код с комментариями... или без
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2011, 04:35
Аватар для smallredstone
Новичок на форуме
Отправить личное сообщение для smallredstone Посмотреть профиль Найти все сообщения от smallredstone
 
Регистрация: 04.10.2011
Сообщений: 9

Ну несолидно же такое спрашивать
<option name='1'>показать form1.php</option>
<option name='2'>показать form2.php</option>


$(document).ready(function() {
  $('#step1 > select').change(function () {
    $('#step2').load("form" + $('#step1 option:selected').attr('name') + '.php');
  });
});


http://api.jquery.com это прекрасный ресурс на самом деле, каждая функция задокументирована и снабжена несколькими примерами

Последний раз редактировалось smallredstone, 09.10.2011 в 04:52.
Ответить с цитированием
  #3 (permalink)  
Старый 09.10.2011, 15:22
Интересующийся
Отправить личное сообщение для mixalic Посмотреть профиль Найти все сообщения от mixalic
 
Регистрация: 09.10.2011
Сообщений: 14

Сообщение от smallredstone Посмотреть сообщение
<option name='1'>показать form1.php</option>
<option name='2'>показать form2.php</option>


$(document).ready(function() {
  $('#step1 > select').change(function () {
    $('#step2').load("form" + $('#step1 option:selected').attr('name') + '.php');
  });
});
Спасибо, но не получается. Скажите, а куда нужно сам текст скрипта кидать? Я его и в head и после и перед этими div-ами прописывал... Вообще при выборе пунктов списка ничего не происходит((

<head>
  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript">текст скрипта</script>
</head>

так?
Ответить с цитированием
  #4 (permalink)  
Старый 09.10.2011, 17:20
Интересующийся
Отправить личное сообщение для mixalic Посмотреть профиль Найти все сообщения от mixalic
 
Регистрация: 09.10.2011
Сообщений: 14

Получилось. Наследование не правильно стояло в DOM. Мой косяк. Еще раз спасибо
$(document).ready(function() {
  $('#step1 > form > select').change(function () {
    $('#step2').load("form" + $('#step1 option:selected').attr('name') + '.php');
  });
});
Ответить с цитированием
  #5 (permalink)  
Старый 09.10.2011, 18:46
Аватар для smallredstone
Новичок на форуме
Отправить личное сообщение для smallredstone Посмотреть профиль Найти все сообщения от smallredstone
 
Регистрация: 04.10.2011
Сообщений: 9

Работает и хорошо.
Только у меня косяк был сначала, у элемента option не должно быть атрибута name (хотя браузер и проглотил его), в самый раз должен быть атрибут value
Ответить с цитированием
  #6 (permalink)  
Старый 11.10.2011, 19:02
Интересующийся
Отправить личное сообщение для anlov Посмотреть профиль Найти все сообщения от anlov
 
Регистрация: 31.05.2011
Сообщений: 21

привет. действительно, спрашивать такое вроде бы несолидно, только больше ничего не остается.

файл dinSel.php:
<?php
	mysql_connect('localhost', 'root', '');
	mysql_select_db("db");
?>
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://jquery.com/src/jquery-latest.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("#id_group").change(function(){
			$("#id_team").load("dinSel2.php", { name_group: $("#id_group option:selected").val() });
		});
	});
</script>
 

<select name="name_group" id="id_group" style="width:330px; font-weight:normal;">
	<option value="0">Group</option>
	<?PHP 
		$result = mysql_query("SELECT distinct group FROM users");
		while($row = mysql_fetch_array($result)){?>
			<option value="<?PHP echo $row['group']?>"><?PHP echo $row['group']?></option>
	<?PHP }?>
</select>
<select name="name_team" id="id_team" style="width:330px; font-weight:normal;">
	<option value="0">Тeam</option>
	<?PHP 
		$result = mysql_query("SELECT distinct team FROM user");
		while($row = mysql_fetch_array($result)){?>
			<option value="<?PHP echo $row['team']?>"><?PHP echo $row['team']?></option>
	<?PHP }?>
</select>


dinSel2.php:
<?PHP 
	@mysql_connect('localhost', 'root', '');
	mysql_select_db("db");
	$query = mysql_query("SELECT distinct team FROM user WHERE group LIKE '".$_REQUEST['name_group']."'");
		echo '<select name="name_team" id="id_team" style="width:330px; font-weight:normal;">';
		while ($selectTeam = mysql_fetch_assoc ($query)){
			echo "<option value='".$selectTeam['team']."'>".$selectTeam['team']."</option>";
		}
		echo '</select>';
?>


вся эта конструкция при выборе какого-либо отдела в первом селекте просто второй селект очищает, то есть, он становится пустой.
Помогите, плиз.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Подгрузка select и работа с ними после! BASSON_XVI jQuery 3 07.01.2011 11:28
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
Подгрузка контента в определённый DIV при нажатии на ссылку, без перезагрузки страниц Flashton Events/DOM/Window 0 10.03.2010 19:53
подгрузка контента guelder jQuery 9 29.07.2009 15:33