Показать сообщение отдельно
  #8 (permalink)  
Старый 09.03.2012, 21:52
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

jQuery обычно в таких делах используется только для удобства работы с ajax запросами..
вот. набросал, тоже с jQuery, но его можно и заменить на чистый js, только смысла в этом не вижу. проще подключать библиотеку только на ту страницу, в которой он нужен.

стилизуй с помощью css под нужный тебе вид:

html файл
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta charset="utf-8" />
	<meta name="description" content="" />
	<script src="jquery.js"></script>
	<script>
	$(document).ready(function(){
		$("#list1 li").live("click",function(){
			var itemId = $(this).attr("id"); // id выбранного пункта для передачи в обработчик
			var itemTitle = $(this).html(); // заголовок выбранного пункта
			$("#list1 span").html(itemTitle);
			
			$.post("ajax.php",{data:"list1", id:itemId },function(data){
				$("#list2").html(data);  // подгружаем второй список
				} 
			);
		});
	
	
		$("#list2 li").live("click",function(){
			var itemTitle = $(this).html(); // заголовок выбранного пункта
			$("#list2 span").html(itemTitle);
			
			$.post("ajax.php",{data:"list2"},function(data){
				$("#list3").html(data);  // подгружаем поле
				} 
			);
		});
	
	});
	
	</script>
	
	<style>
	.lists ul>div{
	display: none;
	}
	.lists :hover div{
	display: block;
	}
	</style>
</head>

<body>
	<div id="list1" class="lists">
		<ul><span>Выберите страну:</span>
			<div>
				<li id="Russia">Россия</li>
				<li id="Kazakhstan">Казахстан</li>
				<li id="Ukraina">Украина</li>
			</div>
		</ul>
	</div>
	<div id="list2" class="lists">
	</div>
	<div id="list3" class="lists">
	</div>
</body>
</html>


ajax.php
<?php
$listNumber = $_POST[data];
$itemId = $_POST[id];

if($listNumber == "list1"){
	switch ($itemId){
		case "Russia": echo("
			<ul><span>Выберите город</span>
			<li id='Moscow'>Москва</li> 
			<li id='Piter'>Питер</li>
			<li id='Novosib'>Новосибирск</li>
			</ul>
		"); break;
		
		case "Kazakhstan": echo("
			<ul><span>Выберите город</span>
			<li id='Almaty'>Алмата</li> 
			<li id='Pavlodar'>Павлодар</li>
			<li id='Astana'>Астана</li>
			</ul>
		"); break;
		
		case "Ukraina": echo("
			<ul><span>Выберите город</span>
			<li id='gorod1'>Город 1</li> 
			<li id='gorod2'>Город 2</li>
			</ul>
		"); break;
		
	}
}

if($listNumber == "list2"){
	echo("<input type='text'>");
	}
?>
__________________
С моих слов записано верно.
Ответить с цитированием