Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выделение строки <select> при выборе другого <select> (https://javascript.ru/forum/dom-window/3583-vydelenie-stroki-select-pri-vybore-drugogo-select.html)

simbion 04.05.2009 23:23

Выделение строки <select> при выборе другого <select>
 
Как сделать чтобы при выборе значения <select> выделялась соответствующая строка в другом (в третьем, в четвертом и.т.д) списке <select>. Например: Если выбираешь например в списке пункт "Яблоко" соответствующее "Яблоко" из дугих списков выделялись тоже?

Это нужно для массового смена статуса заказов!
:yes:
Будет очень удобно...

simbion 05.05.2009 00:08

Должно получится что-то вроде этого,
только при выборе значения главного списка,
должны выбираться соответствующие значения
у всех списков, а не только у первого после главного...
<script type="text/javascript">
var SelectOnChange = function(selected) {
    var option = document.getElementById('proverka').options[selected.value-1];
    option.selected = !option.selected;
};
</script>
<form>
<select onChange="SelectOnChange(this);">
<option value='1'>Яблоко</option>
<option value='2'>Груша</option>
<option value='3'>Тыква</option>		
</select>
<select id="proverka">
<option value='1'>Яблоко</option>
<option value='2'>Груша</option>
<option value='3'>Тыква</option>		
</select>
<select id="proverka">
<option value='1'>Яблоко</option>
<option value='2'>Груша</option>
<option value='3'>Тыква</option>		
</select>
</form>

x-yuri 05.05.2009 00:37

nextSibling - ссылка на следующий элемент
tagName - название тэга элемента

simbion 05.05.2009 00:46

Цитата:

Сообщение от x-yuri (Сообщение 18237)
nextSibling - ссылка на следующий элемент
tagName - название тэга элемента

x-yuri, я в javascript ничего не смыслю:(
Не мог ты на примере показать.... А то я не разберусь...

x-yuri 05.05.2009 01:04

Цитата:

x-yuri, я в javascript ничего не смыслю
может вообще в программировании? Для решения задачи нужно еще знать, что такое while
спрашивай, что непонятно, а не "напишите за меня", показывай свои варианты

simbion 05.05.2009 01:07

Цитата:

Сообщение от x-yuri (Сообщение 18243)
может вообще в программировании? Для решения задачи нужно еще знать, что такое while
спрашивай, что непонятно, а не "напишите за меня", показывай свои варианты

вообще-то ты прав - в программировании ничего не понимаю... Про цикл while слышал, т.к. приходилось править php. html знаю, вот и все...
Птому сюда и забрел по поиску..
Надеялся найти помощь...
Если чем-то обидел - прости.. Не хотел...

x-yuri 05.05.2009 02:07

Цитата:

Если чем-то обидел - прости.. Не хотел...
у тебя не получилось ;)

ну давай попробуем разобраться
в SelectOnChange передается главный элемент (переменная selected)
каркас выглядит так
function SelectOnChange(selected) {

    // создаем переменную и помещаем в нее следующий элемент
    while( /* существует следующий элемент */ ) {
        if( /* текущий элемент - select */ ) {
            // изменить текущее значение в текущем select
        }
    }
}

var a = 123 // создание переменной a и присваивание ей 
// 123 (инициализация не обязательна)
el.nextSibling // следующий элемент по отношению к 
// элементу, хранящемуся в переменной el
el.nextSibling.nextSibling // можно найти элемент 
// через 1 от текущего
el.selectedIndex // номер option, 
// выбранного в select
el.tagName // название тэга элемента el, 
// записанное прописными буквами
if( el.nextSibling ) ... // если существует 
// следующий элемент

Riim 05.05.2009 02:13

Цитата:

Сообщение от x-yuri
el.nextSibling

А что мучиться? Тупо задать всем нужным select-ам, какой ни будь class, и выбирать их по нему.

x-yuri 05.05.2009 02:26

Цитата:

Тупо задать всем нужным select-ам, какой ни будь class, и выбирать их по нему
тоже вариант :)

simbion 05.05.2009 02:32

Буду разбираться с наисанным выше кодом.
Завтра отпишу что получилось, а что нет.
x-yuri, спасибо за подробный ответ!


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