2010-09-14 2 views
41

У меня есть несколько списков выбора, которые имеют более 5 вариантов. Но я хочу ограничить выбор параметров двумя или тремя вариантами. Как это сделать, используя jquery? Как получить количество вариантов выбора в нескольких списках выбора? Я использую плагин проверки jquery.Как получить количество выбранных опций с помощью jquery?

ответ

78

Вы можете использовать the :selected selector, чтобы выбрать их, а затем получить .length, как это:

var count = $("#mySelect :selected").length; 
+2

Сначала лучше, так как '$ (" # mySelect "). Val()' равно null, если не выбрана опция. – svinto

+0

@svinto - хороший catch, я переопределяю '.val()', чтобы возвращать пустой массив в этом случае в моей сборке, IMO it * должен * делать это по умолчанию .. это оказалось для меня более полезным, но мы увидим если он когда-либо изменится. –

+0

Ya, сначала лучше и дал правильный результат для моей ситуации. В любом случае, спасибо. – 2010-09-14 15:24:29

3

var n = $("input:checked").length; увидеть это более подробно: http://api.jquery.com/checked-selector/

+1

Я не думаю, что это то, что имел в виду О.П., но что более важно, это будет соответствовать каждому '' , включая радио-кнопки, так что будьте осторожны, используя ': checked'. –

3

Вы можете получить количество выбранных элементов в многозона со следующим:

$('#selectList :selected').length 

Где #selectList - это идентификатор вашего.

+1

'.count()' не является функцией jQuery :) '.size()' is, но это просто оболочка для '.length', может также использовать ее напрямую. –

+0

@ Ник, спасибо. Вы совершенно правы. – halfdan

1

Для галочки я использую:

$('input[name="InputName"]:checked').size() 
Смежные вопросы