Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2016, 09:49
Кандидат Javascript-наук
Отправить личное сообщение для dpts Посмотреть профиль Найти все сообщения от dpts
 
Регистрация: 12.05.2015
Сообщений: 111

Куча select - ов на форме. Показывать только 2 из них.
Приветствую, есть примерно вот такая разметка
<!DOCTYPE HTML>

<html>

<head>

  <title>Селекты</title>
</head>

<body>
<!-- Главный Селект -->
<select Name="fio">
    <option Value="1">Иванов</option>
    <option Value="2">Петров</option>
    <option Value="3">Сидоров</option>
    ...
    <option Value="n">Нурсульфазолов</option>
</select>


<!-- Селект от Иванова -->
<select Name="Child">
    <option value="1">Сын Иван</option>
    <option value="2">Дочь Маша</option>
    ...
    <option value="n">Сын Петр</option>
</select>

<!-- Селект от Петрова -->
<select Name="Child">
    <option value="1">Сын Василий</option>
    <option value="2">Сын Николай</option>
    ...
    <option value="n">Дочь Катерина</option>
</select>

<!-- Селект от Сидорова -->
<select Name="Child">
    <option value="1">Сын Владимир</option>
    <option value="2">Дочь Ольга</option>
    ...
    <option value="n">Сын Михаил</option>
</select>

...

<!-- Селект от Нурсульфазолова -->
<select Name="Child">
    <option value="1">Сын Сергей</option>
    <option value="2">Сын Кирилл</option>
    ...
    <option value="n">Сын Алексей</option>
</select>

</body>

</html>

Селекты и их содержимое создаются VBS-ом циклами из БД
Необходимо Показывать Главный селект всегда, а из остальных - только один, тот который от того товарища, который сейчас выбран в главном селекте.
То-есть, если в Главном селекте выбран Сидоров, то показывать селект с детьми Сидорова.

В идеале, конечно, лучше по Главному селекту выполнять серверный скрипт, чтобы он отдавал один единственный нужный селект.

Последний раз редактировалось dpts, 15.02.2016 в 09:56.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2016, 10:17
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

dpts,
Интересно, а по какому признаку у вас определяется, где чей select?
Как определить, который select - с детьми Сидорова? По комментарию?
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2016, 10:21
Кандидат Javascript-наук
Отправить личное сообщение для dpts Посмотреть профиль Найти все сообщения от dpts
 
Регистрация: 12.05.2015
Сообщений: 111

Сообщение от Dilettante_Pro Посмотреть сообщение
dpts,
Интересно, а по какому признаку у вас определяется, где чей select?
Как определить, который select - с детьми Сидорова? По комментарию?
Ну так и мне тоже интересно.
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2016, 10:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

dpts,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .hide{
    display: none;
  }

  </style>
</head>

<body>
<!DOCTYPE HTML>

<html>

<head>

  <title>Селекты</title>
</head>

<body>
<!-- Главный Селект -->
<select name="fio">
    <option value="1">Иванов</option>
    <option value="2">Петров</option>
    <option value="3">Сидоров</option>
    ...
    <option value="n">Нурсульфазолов</option>
</select>


<!-- Селект от Иванова -->
<select name="Child">
    <option value="1">Сын Иван</option>
    <option value="2">Дочь Маша</option>
    ...
    <option value="n">Сын Петр</option>
</select>

<!-- Селект от Петрова -->
<select name="Child">
    <option value="1">Сын Василий</option>
    <option value="2">Сын Николай</option>
    ...
    <option value="n">Дочь Катерина</option>
</select>

<!-- Селект от Сидорова -->
<select name="Child">
    <option value="1">Сын Владимир</option>
    <option value="2">Дочь Ольга</option>
    ...
    <option value="n">Сын Михаил</option>
</select>

...

<!-- Селект от Нурсульфазолова -->
<select name="Child">
    <option value="1">Сын Сергей</option>
    <option value="2">Сын Кирилл</option>
    ...
    <option value="n">Сын Алексей</option>
</select>
<script>
window.addEventListener('DOMContentLoaded', function() {
    var fio = document.querySelector('[name="fio"]'),
        child = document.querySelectorAll('[name="Child"]');

    function change() {
        val = this.value - 1;
        [].forEach.call(child, function(sel, i) {
            sel.classList[val == i ? "remove" : "add"]("hide")
        });

    }
    fio.addEventListener('change', change);
    change.call(fio)()
});
</script>
</body>

</html>

</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2016, 10:55
Кандидат Javascript-наук
Отправить личное сообщение для dpts Посмотреть профиль Найти все сообщения от dpts
 
Регистрация: 12.05.2015
Сообщений: 111

Благодарю.
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2016, 11:00
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

рони,
По порядку? VBS гарантирует? А если нет детей у кого-то - будет пустой селект?
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2016, 11:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Dilettante_Pro
По порядку? VBS гарантирует?
похоже он даже синтаксис не гарантирует ответ дан по исходным данным, с исправлением toLowerCase
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2016, 11:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от dpts
Необходимо Показывать Главный селект всегда, а из остальных - только один
Изначально на странице должен быть вообще один родительский список, а его дочерние запрашивать асинхронно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как показывать только нужное изображение? tourniquet jQuery 2 05.01.2015 00:33
идентифицировать select в форме djonA Общие вопросы Javascript 13 19.09.2013 00:42
По выбору select перегрузить страницу используя параметр. Работает только в IE Blackshadow Javascript под браузер 1 16.02.2012 10:06
Передача всех Options из Select (не только выбранных) dm1tr1y Общие вопросы Javascript 6 23.03.2009 18:51
Показывать блок только определенным IP адресам vovangr Общие вопросы Javascript 4 18.09.2008 14:27