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'>");
}
?>