селекторы 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();