селекторы jQuery: multiselect vs select
можно ли с помощью jQuery выбрать множественный выбор для выбора по-другому?
проблема в том, что у меня есть общий JS, который что-то делает с id. Однако на некоторых страницах она имеет другое назначение.
поэтому я хотел бы узнать разницу.
$("select#categories[multiselect]").doOneThing; //multiselect
$("select#categories").doAnotherThing; //normal single select
возможно?
2 ответов
правильное имя атрибута <select>
элемент с несколькими выбираемыми параметрами -несколько. Вы можете использовать селектор "имеет атрибут" для выбора элементов с множественным атрибутом и объединить его с :не() выберите элементы, которые позволяют только один выбор.
поэтому ваш селектор jQuery должен быть:
$("select#categories[multiple]") // <select> with multiple
$("select#categories:not([multiple])") // <select> with single only
http://www.w3.org/TR/html401/interact/forms.html#edef-OPTION
Если у вас есть что-то вроде этого (XHTML):
<select id="categories" size="3" multiple="multiple">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
вы можете создать селектор, который проверяет multiple
-атрибут. Попробуйте что-то вроде этого:
$('select#categories[multiple="multiple"]').doOneThing();