Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрыть <select> если у него один <option> (https://javascript.ru/forum/misc/55728-skryt-select-esli-u-nego-odin-option.html)

spaiker2009 11.05.2015 22:54

Скрыть <select> если у него один <option>
 
Добрый день. Помогите пожалуйста, необходима функция js. Задача в следующем, к примеру есть html код:

<select class="form-select">
<option value="All"></option>
</select>
<select class="form-select">
<option value="All"></option>
<option value="25"></option>
</select>

Необходимо сделать, чтобы если в select заключен только один option, то селекту присваивалось css значение - display:none

К сожалению сам в js пока не слишком силен, только осваиваю.

laimas 11.05.2015 23:01

Зачем же их сервер выводит в браузер, чтобы скрыть на клиенте?

Decode 12.05.2015 00:02

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Document</title>
</head>
<body>
  <select class="form-select">
    <option value="All">All</option>
  </select> 
  <select class="form-select">
    <option value="All">All</option>
    <option value="25">25</option>
  </select>
  
  <script>
    var selectElems = document.querySelectorAll(".form-select");

    Array.prototype.forEach.call(selectElems, function(item) {
      if(item.options.length == 1) item.style.display = "none";
    });
  </script>
</body>
</html>

laimas 12.05.2015 04:49

Свойство length списка уже возвращает число опций в нем.


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