Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
s1ra
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 2
1

Связанные селекты

25.02.2016, 09:16. Просмотров 249. Ответов 3
Метки нет (Все метки)

Добрый день.
Есть 2 селекта.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<select id="select1" name="select_1">
<option value="">Осуществите выбор</option>
<option value="2">Пункт 1</option>
<option value="50">Подпункт 1.1</option>
<option value="51">Подпункт 1.2</option>
<option value="3">Пункт 2</option>
<option value="52">Подпункт 2.1</option>
<option value="53"Подпункт 2.2</option>
<option value="4">Пункт 3</option>
<option value="54">Подпункт 3.1</option>
<option value="55">Подпункт 3.2</option>
 
<select id="select2" name="select_2">
<option value="">Осуществите выбор</option>
<option value="Пункт 1">Пункт 1</option>
<option value="Пункт 2">Пункт 2</option>
<option value="Пункт 3">Пункт 3</option>

Нужно их связать так, чтобы при выборе из второго селекта автоматически выбирался соответствующий пункт первого селекта (в идеале вообще чтобы сразу первый дочерний подпункт выбирал, но это уже следующий вопрос...).
Т.е. во втором селекте выбираем "Пункт 1". В результате чего в первом селекте автоматически выбирается "Пункт 1".
В познаниях js не силён. Наверное, ошибка простая...

До какого "творчества" дошёл:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var first = document.getElementById("select1"),
second = document.getElementById("select2");
 
second.onchange = function() {
 
 var number = second.selectedIndex,
 name = second.options[number].value;
 
 for (var i = 0; i < first.length; i++){
   if (first.options[i].text == name){
      first.options[i].selected = true;
   } 
 }
};
Перебор всех вариантов в лоб через условие if - мало подходит... т.к. позиций в селектах в оригинале значительно больше.
Заранее благодарю за консультацию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 09:16
Ответы с готовыми решениями:

Селекты enabled/disabled
Имеется 3 Селекта. Первый селект всегда Enabled, 2 остальных Disabled. Как...

Как организовать зависимые селекты?
Друзья, есть такой html &lt;div id=&quot;f_lr1ro&quot; class=&quot;field ft_list&quot;&gt; &lt;label...

Связанные списки
Здравствуйте. Вопрос такой: есть два select-a. Необходимо, чтобы при изменении...

Связанные списки
Подскажите как переделать данный код так чтобы связанные были три списка и при...

Динамически связанные списки
Господа! Что бы получить точный ответ на вопрос, необходимо точно...

3
IamRain
1314 / 1201 / 372
Регистрация: 02.08.2011
Сообщений: 3,493
25.02.2016, 10:42 2
В конце блока, соответствующем условию if, надо бы поставить break, чтобы все остальные варианты после совпадения уже не проверялись.
Думаю, ваш способ и будет самым быстрым.
1
Goga5
60 / 38 / 20
Регистрация: 06.12.2015
Сообщений: 155
25.02.2016, 16:35 3
Уже поднималась эта тема: Поведение селекта. Найдите там моё сообщение, где я предлагаю скачать файл: "Select.rar" и скачайте его.
У Вас по-моему ошибка в этой строке:
Цитата Сообщение от s1ra Посмотреть сообщение
var number = second.selectedIndex,
нужно писать:
Javascript
1
var number = second.value;
Там будет номер <option>.
1
s1ra
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 2
26.02.2016, 08:48  [ТС] 4
Спасибо за ответы.
Скрипт работает. Просто ошибка была в селекте оригинальной задачи из-за моей невнимательности >_<
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2016, 08:48

Ошибки связанные с 'navigator object'.
Привет всем. Я используя браузер &quot;Netscape 7.2&quot;. В 'JavaScript' коде время...

Динамическая замена текста и связанные списки
Всем доброго времени суток! Помогите пожалуйста разобраться с такой вот...

Как сделать связанные выпадающие списки mysql + ajax ?
Как сделать связанные выпадающие списки mysql + ajax ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru