Показать сообщение отдельно
  #2 (permalink)  
Старый 09.09.2015, 10:22
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Это самый простой вариант, когда значение === порядку option

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form action="" name="myForm">
	    <select name="mySelect">
			<option value="0">Выбрать город</option>
			<option value="1">Москва</option>
			<option value="2">Санкт-Петербург</option>
			<option value="3">Сочи</option> 
	    </select>
	</form>
	<button onclick="setOption(document.forms.myForm.mySelect, 2);">select #2</button>
	<script>
		function setOption(select, id) {
			if (!select || !id) return false;
			select[id].selected = true;
		}
	</script>
</body>
</html>


А вот этот, если нужно указать на значение (Т.е html ниже - тоже прокатит).

<option value="1231"></option>
<option value="something"></option>

function setOption(select, id) {
	if (!select || !id) return false;
    [].forEach.call(select.children, function(item) {
    	if (+item.value === id) {
        	item.selected = true;
        }
    });
}

// или так

function setOption(select, id) {
	if (!select || !id) return false;
	select.querySelector('option[value="'+ id +'"]').selected = true;
}

Последний раз редактировалось Lemme, 09.09.2015 в 11:00.
Ответить с цитированием