Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2016, 10:53
Новичок на форуме
Отправить личное сообщение для Romanych Посмотреть профиль Найти все сообщения от Romanych
 
Регистрация: 08.03.2016
Сообщений: 3

Вопрос по коду Java script (выводит динамический список)
Приветствую всех и прошу помощи так как джава скрипты не знаю, но есть необходимость в размещении следующего кода на сайте.

Вот код который строит динамический список из 3 select ов:


<!DOCTYPE HTML> 

<html> 

<head> 
  <title>Untitled</title> 
<meta charset="windows-1251"> 
</head> 

<body> 
<style> 
.div2 { 
 display: none ; 
} 
</style> 
<style> 
.div3 { 
 display: none ; 
} 
</style> 
<select onchange="change(this.value);"> 
<option value=1 selected>Выбирите</option> 
<option value=2>2</option> 
<option value=3>3</option> 

</select> 
<div class="div1">Ни чего не выбрано</div> 
<div class="div2">2</div> 
<div class="div3">3</div> 

<script> 
var divs = document.querySelectorAll(".div1, .div2, .div3") ; 
function change(i) { 
 var nodeList = divs, 
 l = nodeList.length ; 
 while(l--) 
 nodeList[l].style.display = "none" ; 
 nodeList = document.querySelectorAll(".div"+i) ; 
 l = nodeList.length ; 
 while(l--) 
  nodeList[l].style.display = "block" ; 
} ; 
</script> 

</body> 

</html>


Вопрос: Что нужно поменять в коде скрипта, чтоб была возможность корректного вывода более 3-ех селектов? Допустим 5-ти.

Жду ответа. Буду очень благодарен за подсказку!
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2016, 12:21
Аватар для Cuntmann
Аспирант
Отправить личное сообщение для Cuntmann Посмотреть профиль Найти все сообщения от Cuntmann
 
Регистрация: 26.01.2014
Сообщений: 78

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

Последний раз редактировалось Cuntmann, 08.03.2016 в 12:32.
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2016, 14:44
Новичок на форуме
Отправить личное сообщение для Romanych Посмотреть профиль Найти все сообщения от Romanych
 
Регистрация: 08.03.2016
Сообщений: 3

Спасибо что откликнулись. Да все верно селект один, я не верно истолковал. Смысл следующий:

Указанный выше код создан для отображения блока соответствующего выбранному в данный момент элементу списка (options). Код взял на данном форуме. Он изначально был создан для варианта со списком из трех пунктов, соответственно и 3-ех дивов.

В настоящее время есть необходимость создавать списки из более чем трех элементов, это может быть и 5 и 25-ть, в разных случаях по разному. Сам я не могу разобраться что именно в скрипте отвечает за корректное отображение блоков и что нужно изменять в коде java с увеличением числа пунктов в списке.

В прикрепленном файле пример работы скрипта со списком из 5 пунктов и соответственно и 5 блоков. Из него видно что блоки 4,5 видны сразу после загрузки, хотя в списке выбран его первый элемент.

Вот код результат работы которого на скриншоте:

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
<meta charset="windows-1251">
</head>

<body>
<style>
.div2 {
 display: none ;
}
</style>
<style>
.div3 {
 display: none ;
}
</style>
<select onchange="change(this.value);">
<option value=1 selected>Выбирите</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
</select>
<div class="div1">Ни чего не выбрано</div>
<div class="div2">2</div>
<div class="div3">3</div>
<div class="div4">4</div>
<div class="div5">5</div>
<script>
var divs = document.querySelectorAll(".div1, .div2, .div3, .div4, .div5") ;
function change(i) {
 var nodeList = divs,
 l = nodeList.length ;
 while(l--)
 nodeList[l].style.display = "none" ;
 nodeList = document.querySelectorAll(".div"+i) ;
 l = nodeList.length ;
 while(l--)
  nodeList[l].style.display = "block" ;
} ;
</script>

</body>

</html>]
Изображения:
Тип файла: png 2016-03-08 14-20-44 Скриншот экрана.png (2.7 Кб, 1 просмотров)
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2016, 14:47
Новичок на форуме
Отправить личное сообщение для Romanych Посмотреть профиль Найти все сообщения от Romanych
 
Регистрация: 08.03.2016
Сообщений: 3

Ааааа... все разобрался сам!! Нужно стили под каждый блок выставить было display: none ;

Спасибо что откликнулись!
Ответить с цитированием
  #5 (permalink)  
Старый 09.03.2016, 22:50
Аватар для Cuntmann
Аспирант
Отправить личное сообщение для Cuntmann Посмотреть профиль Найти все сообщения от Cuntmann
 
Регистрация: 26.01.2014
Сообщений: 78

Сообщение от Romanych Посмотреть сообщение
...все разобрался сам!!...
Это - самое лучшее, что может дать любой форум
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31
Динамический список djsadd Internet Explorer 1 13.04.2012 01:35
Вопрос новичка в java script realyhead Общие вопросы Javascript 7 09.02.2012 21:33
Есть ли какой Java Script который меняет название сайта после его открытия Xaiver Общие вопросы Javascript 1 10.01.2012 02:50
Установка приложений с помощью Java Script zion87 Events/DOM/Window 2 28.11.2011 23:10