Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Установка атрибута selected через JS (https://javascript.ru/forum/events/50315-ustanovka-atributa-selected-cherez-js.html)

Batyabest 21.09.2014 15:10

Установка атрибута selected через JS
 
Здравствуйте.
Есть некая конструкция, в дном блоке radio button, выбрав значение кнопки, выводится значение в select, но оно не установлено в выбранное состояние, потому и не передается дальше обработчику. Как мне присвоить атрибут selected через JS

Вот код:

window.onload = function () {
document.body.onclick = function (e) {
        e = e || event;
        target = e.target || e.srcElement;
        if (target.tagName == "INPUT" && target.type == "radio") {
            for (i = 0; i < document.getElementsByTagName("select").length; i++) {
                document.getElementsByTagName("select")[i].style.display = "none";
            }
        } //alert(target.id.replace("rad"));
        document.getElementById("sel"+target.id.replace("rad", "")).style.display = "block";
		document.getElementById("sel"+target.id.replace("rad", "")).options[i].selected=true;

    }
}


Вот код формы (выдержка):

<div>
	<label class="control-label" style="display:block;">Вы <sup><span style="color:red;">*</span></sup></label>
		<label><input type="radio" name="status" id="rad1" value="1" required>1</label><br>
		<label><input type="radio" name="status" id="rad2" value="2" required>2</label><br>
		<label><input type="radio" name="status" id="rad3" value="3" required>3</label><br>
	</div>
	<div style="float:left;">
		<label class="control-label" style="display:block;"></label>
<select id="sel1" style="display:none" size="2" name="type">
<option value="1-1">1-1</option>
</select>
<select id="sel2" style="display:none" size="2" name="type">
<option value="2-2">2-2</option>
</select>
<select id="sel3" style="display:none" size="2" name="type">
<option value="3-3">3-3</option>
</select>
    </div>

Batyabest 21.09.2014 16:33

Подскажите, как мне в зависимости от выбранного radio передать информацию в БД. Информация другая, НЕ value у radio.

kostyanet 21.09.2014 19:15

Радио или передает - тогда вы знаете что было выбрано по валуе, или не передает и вы знаете что такое валуе было не выбрано. То же самое с чекбоксами. Отсутствие данных - тоже данные.

kostyanet 21.09.2014 19:32

Цитата:

options[i].selected=true;
Что обозначает тут i ?

Там система такая - можно тупо присвоить value силекту, тогда надо его знать; или сделать выбранным какой-то option, и тоже надо знать какой.

Допустим вы знаете что дефолтное значение какого-то списка "2-2". Тогда select.value="2-2" и оно само выберет правильный option.

Если ничего не известно - то ничего не трогайте. Юзер сам выберет.


Часовой пояс GMT +3, время: 12:38.