[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Два зависимых select
red-nicolas
Есть два select. Надо сделать так , что бы при выборе строки в одном из них, во втором выводилось начальное значение.

Смысл в том, что бы выбрать критерий фильтра, но из двух селекторов критерий должен быть один. Соответственно если выбрали из первого во втором должно передаться значение 0, и наоборот. Как это сделать?



Спустя 7 минут, 34 секунды (31.03.2012 - 20:29) redreem написал(а):
<select id="sel1" onchange="document.getElementById('sel2').selectedIndex=0">

<select
id="sel2" onchange="document.getElementById('sel1').selectedIndex=0">

Спустя 14 минут, 51 секунда (31.03.2012 - 20:44) red-nicolas написал(а):
Цитата (redreem @ 31.03.2012 - 17:29)
<select id="sel1" onchange="document.getElementById('sel2').selectedIndex=0">

<select
id="sel2" onchange="document.getElementById('sel1').selectedIndex=0">

Я так понял selectedIndex - это порядок option, а как указать, что бы выбор был по value='0'?

Спустя 30 минут, 49 секунд (31.03.2012 - 21:15) redreem написал(а):
ну тогда надо функцию городить. перебирать все оптионсы и натыкаясь на валуе 0 выставлять селектедИндекс.

Спустя 24 минуты, 41 секунда (31.03.2012 - 21:39) red-nicolas написал(а):
Цитата (redreem @ 31.03.2012 - 18:15)
ну тогда надо функцию городить. перебирать все оптионсы и натыкаясь на валуе 0 выставлять селектедИндекс.

Сложновато, в общем я просто поставил значение равно числу, которое больше, чем позиций в списке.

Спустя 2 минуты, 10 секунд (31.03.2012 - 21:42) redreem написал(а):
можно так попробовать:

<select id="sel1" onchange="document.getElementById('sel2').value=0">

<select
id="sel2" onchange="document.getElementById('sel1').value=0">


правда незнаю как это сработает. а с перебором - ниче сложного:

<select id="sel1" onchange="resetSelect('sel2')">

<select
id="sel2" onchange="resetSelect('sel1')">

<script>
function
resetSelect(id) {

var sel = document.getElementById(id);
var opt = sel.getElementsByTagName('option');

for (var i = 0; i<opt.length; i++) {

if (opt[i].value == 0) {

sel.selectedIndex = i;
break;

}

}

}

</script>

Спустя 30 минут, 21 секунда (31.03.2012 - 22:12) red-nicolas написал(а):
Цитата (redreem @ 31.03.2012 - 18:42)
можно так попробовать:

<select id="sel1" onchange="document.getElementById('sel2').value=0">

<select
id="sel2" onchange="document.getElementById('sel1').value=0">


правда незнаю как это сработает. а с перебором - ниче сложного:

<select id="sel1" onchange="resetSelect('sel2')">

<select
id="sel2" onchange="resetSelect('sel1')">

<script>
function
resetSelect(id) {

var sel = document.getElementById(id);
var opt = sel.getElementsByTagName('option');

for (var i = 0; i<opt.length; i++) {

if (opt[i].value == 0) {

sel.selectedIndex = i;
break;

}

}

}

</script>

Спасибо, все работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.