Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2013, 01:04
Новичок на форуме
Отправить личное сообщение для Malkis Посмотреть профиль Найти все сообщения от Malkis
 
Регистрация: 18.10.2012
Сообщений: 7

Простая задачка со списком select
Привет всем. Помогите разобраться кому не лень. Есть список select вида
<select>
  
  <option>Пункт 1</option>
  <option>Пункт 2</option>
  <option>Пункт 3</option>
  <option>Пункт 4</option>
  
</select>


И есть 4 блока div которые зависят от выбранного пункта списка.
<div id="parent_block">
  <div id="1" class="contacts"></div>
  <div id="2" class="contacts"></div>
  <div id="3" class="contacts"></div>
  <div id="4" class="contacts"></div>
</div>

Точнее которые должны зависеть. Например я выбираю "Пункт1" и он становится виден, а остальные скрываются. Выбираю пункт 3 становится виден блок с id="3", а все остальные скрываются. Как правильнее организовать? Такая вот задача. Может у кого в шаблонах есть...Хотелось бы если не готовый код, то хотябы небольшой кусочек что бы я его сам уже доработал. Заранее спасибо. Не судите строго за простецкий вопрос, ибо новичек. Пытаюсь разобраться.
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2013, 04:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<select>
  <option>Выберите</option>
  <option>Пункт 1</option>
  <option>Пункт 2</option>
  <option>Пункт 3</option>
  <option>Пункт 4</option>
   
</select>

<div id="parent_block">
  <div id="1" class="contacts">1 Block</div>
  <div id="2" class="contacts">2 Block</div>
  <div id="3" class="contacts">3 Block</div>
  <div id="4" class="contacts">4 Block</div>
</div>
<script>
    var select = document.querySelector('select');
    var blocks = document.querySelectorAll('#parent_block div');
    function hideBlocks(except) {
        for (var i = 0; i < blocks.length; i++) {
            blocks[i].style.display = (i === except) ? '' : 'none';
        }
    }
    select.onchange = function() {
        hideBlocks(this.selectedIndex - 1);
    };

    this.hideBlocks();
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2013, 09:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от danik.js
this.hideBlocks();
this зачем?
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2013, 09:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
this зачем?
Откуда я знаю )) Писалось спросонья..
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с выпадающим списком (SELECT) Bogus Общие вопросы Javascript 14 11.03.2013 08:39
Возможно ли обращение к select по его name? Diablos Общие вопросы Javascript 15 26.09.2011 23:13
Простая задачка Nanto Элементы интерфейса 6 08.09.2011 15:19
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31