Списки select: отображение разных групп опций в зависимости от выбранного пункта 
		
		
		
		Имеется два выпадающих списка select (A и B). 
	Задача заключается в том чтобы в зависимости от выбранного пункта списка A, отображать различные наборы пунктов в списке B. К примеру в списке A - страны, а в списке B - города. С какой структурой лучше вообще работать - предусмотреть разные select для каждого пункта в списке A, группировать пункты в списке B или чтото еще? Подскажите элегантный и грамотный способ.  | 
	
		
 Судя по всему это задача не версталы а программиста? 
	 | 
	
		
 В простом случае никакие структуры не нужны 
	
<html>
<head>
</head>
<body>
<select id="countries">
<option>russia</option>
<option>ukraine</option>
</select>
<select id="russia" style="display: none">
<option>Moskow</option>
<option>Sp-burg</option>
</select>
<select id="ukraine" style="display: none">
<option>Kiev</option>
<option>Harkov</option>
</select>
<script>
get=document.querySelector.bind(document)
countries=get("#countries")
russia=get("#russia")
ukraine=get("#ukraine")
countries.onchange=function(){
      switch(this.value){
         case("russia"): russia.style.display="block"; ukraine.style.display="none"; return
         case("ukraine"): ukraine.style.display="block"; russia.style.display="none"; return
      }
}
</script>
</body>
</html>
 | 
	
		
 Спасибо. Ну а вообще такие вещи обычно реализуются php+ajax или выводить все селекты для всех стран, а потом управлять при помощи js это нормальная практика? 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 spo, 
	Я вообще не профи, поэтому по общепринятым практикам консультировать не могу. Но, исходя из здравого смысла, легко прийти к выводу, что переложить работу сервера на клиента всегда в интересах владельца ресурса.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 12:48. |