| 
 Сортировка <option> в <select> Как сделать чтобы все <option> в <select> сортировалис автоматически? Например по алфавиту. | 
| 
 
<select id='foo'>
	<option>
		Г
	</option>
	<option>
		А
	</option>
	<option>
		В
	</option>
	<option>
		Б
	</option>
</select>
<script type='text/javascript'>
	(function () {
		var wrapper = document.getElementById("foo"),
		nodes = wrapper.getElementsByTagName("OPTION"),
		len = nodes.length,
		sorted = [];
		while (nodes[0]) {
			sorted.push(new String(nodes[0].value));
			sorted[sorted.length-1].element = nodes[0];
			wrapper.removeChild(nodes[0]);
		}
		sorted = sorted.sort();
		for (var i = 0; i < len; i++) {
			wrapper.appendChild(sorted[i].element);
		}
	})();
</script>
 | 
| 
 Цитата: 
 Вариант сортировки селектора по алфавиту: 
<select id='foo'>
	<option value="4">Г</option>
	<option value="1">А</option>
	<option value="2">Б</option>
	<option value="3">В</option>
</select>
<script type='text/javascript'>
function sorted(id){for(var c=document.getElementById(id),b=c.options,a=0;a<b.length;)
if(b[a+1]&&b[a].text>b[a+1].text){c.insertBefore(b[a+1],b[a]);a=a>=1?a-1:a+1}else a++;
b[0].selected=true };
sorted("foo");
</script>
 | 
| 
 <script type='text/javascript'> function sorted(id){for(var c=document.getElementById(id),b=c.options,a=0;a<b. length;) if(b[a+1]&&b[a].text>b[a+1].text){c.insertBefore(b[a+1],b[a]);a=a>=1?a-1:a+1}else a++; b[0].selected=true }; sorted("foo"); </script>[/html][/quote] Спасибо за супер не читабельньій код. Самьіе лучшие знания. Очень полезно. Еще раз спасибо. | 
| 
 hurricane, а где вы берете списки, что их приходится средствами клиента сортировать? | 
| 
 vipslord, так и Internet Explorer научился за это время value из text option брать ))) так что берите читаемый код из 2 поста. | 
| Часовой пояс GMT +3, время: 20:49. |