Просмотр полной версии : Вопрос по SELECT
xela1980
20.12.2009, 22:38
Ребят вопрос такой есть два selecta c одинаковым набором optionов. Я хочу в одном селекте выбрать .значение выделеного optiona (value) Делаю так
var x=$('#myselect option:selected').val();
А затем на основании этого значения в другом селекте сделать выделенным элемент с соответсвующим value.
То есть как то так но понимаю что неправильно
$(#myselect option: x).attr('selected', 'yes');
Как записать это правильно куда втулить это значение
Спасибо.
xela1980
20.12.2009, 22:40
Пардон опечка вторая строка из примера Там другой айди на самом деле
$(#myselect2 option: x).attr('selected', 'yes');
Бросьте вы этот jQury. Нпишите функцию доступа к элементу по ID чтобы не писать всё время document.getElementById
function $(i) {
return document.getElementById(i);
}
Не нравится ID можно getElementsByName, getElementsByTagName или getElementsByClass (http://javascript.ru/unsorted/top-10-functions#8-getelementsbyclass). A дальше, используйте свойство value.
$("select_1").value = $("select_2").value;
Всё, 4 строки и готово. И не надо библиотеки всякие подгружать.
xela1980
21.12.2009, 07:37
Да нет ID это все хорошо конечно но нужные мне значения храняться в value. А это атрибут И мне нужно сравнить по значению атрибута. То есть как поставить нужный option выделенным по value? Cелектед чего? В первом сработало событие считалось что выделен был option c value ="25" ну и как теперь поставить во втором селекте выделения для optiona c value="25"
По атрибутам в мануале есть такой пример
$("input[name='man']").val("has man in it!");
Делал по аналогии (где х переменная где хранитсья значение value из первого селекта)
$('#myselect[value=x]").).attr('selected', 'yes'); Не работает. Как же уставноить выделиние по атрибуту.
Чесно говоря я не до коонца понял задачу. Может быть это моможет?
<select id="select_1">
<option value="001">Option_001</option>
<option value="002">Option_002</option>
<option value="003">Option_003</option>
<option value="004">Option_004</option>
<option value="005">Option_005</option>
</select>
<br/><br/>
<select id="select_2">
<option value="001">Option_001</option>
<option value="002">Option_002</option>
<option value="003">Option_003</option>
<option value="004">Option_004</option>
<option value="005">Option_005</option>
</select>
<br/><br/>
<input type="button" value="SELECT" onclick="my_select()"/>
<script type="text/javascript">
<!--
function $(i) {
return document.getElementById(i);
}
function my_select() {
$("select_2").value = $("select_1").value;
}
// -->
</script>
После нажатия кнопки SELECT во втором селекте устанавливается такое же значение как и в первом. Вместо кнопки можно использовать обработчик onchange="my_select()" т.е. <select id="select_1" onchange="my_select()">
И бросьте вы наконец этот jQury.
выделяет нужные селекты и чекбоксы
$("#single").val("Single2");
$("#multiple").val(["Multiple2", "Multiple3"]);
$("input").val(["check1","check2", "radio1" ]);
<select id="single">
<option>Single</option>
<option>Single2</option>
</select>
<select id="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select><br/>
<input type="checkbox" name="checkboxname" value="check1"/> check1
<input type="checkbox" name="checkboxname" value="check2"/> check2
<input type="radio" name="r" value="radio1"/> radio1
<input type="radio" name="r" value="radio2"/> radio2
xela1980
21.12.2009, 22:34
Спасибо ребят большое за помощь. Но вот так заработало. За что люблю этот квери. две строчки кода и все.
Сперва считывваю в первом селекте значениe value выделенного optiona
var x=$('#myselect option:selected').val();
и затем во втором селекте делаю выделенным option у которого value рано x.
$('#myselect2).val(x).attr('selected', 'yes');
Зря вы мой код не возжелали. :(
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot