2013-11-26 4 views
0

У меня есть выбор, который выглядит следующим образом:Получить количество видимых выбора опций

<select id="days"> 
<option value="nothing">Select day</option> 
<option value="monday2">Monday</option> 
<option value="tuesday2">Tuesday</option> 
<option value="wednesday2">Wednesday</option> 
<option value="thursday2">Thursday</option> 
<option value="friday2">Friday</option> 
<option value="saturday2">Saturday</option> 
<option value="sunday2">Sunday</option> 
</select> 

Я хочу знать, сколько из вариантов в определенные дни открыты. Причина этого в том, что у меня есть функция, которая может скрыть некоторые из этих вариантов

я пытался что-то вроде этого, но он не работал:

visibleoptions = $("days option:visible").index()+1; 

Спасибо заранее

+2

варианты hinding оленья кожа работа в IE –

ответ

3

Ваш id selector имеет неверный формат, он должен быть с префиксом хэш знаком. С фиксированным селектором, вы должны использовать только length свойство:

var visibleCount = $("#days option:visible").length; 
+0

Это дает мне результат 0. Хотя есть 7 вариантов видимых. – Hwende

+0

@ Хенрик, это странно, ': visible' и' length' всегда работают правильно в моем опыте. Вы уверены, что на вашей странице нет другого элемента с id 'days'? –

+0

Да, я просто дважды проверял. У меня есть только один элемент с этим идентификатором, и в нем есть 7 видимых вариантов. – Hwende

1

Вам нужно использовать .length свойство

$("#days option:visible").length 
+1

Почему 'длина + 1'? – techfoobar

Смежные вопросы