2010-09-06 17 views
6

¿Es posible, a través de jQuery, seleccionar un multiselección para seleccionar, de manera diferente?jQuery selectores: multiselección vs seleccionar

El problema que estoy teniendo es que tengo una llamada js general que hace algo a una identificación. Sin embargo, en algunas páginas tiene un propósito diferente.

Por lo tanto, me gustaría reconocer la diferencia.

$("select#categories[multiselect]").doOneThing; //multiselect 
$("select#categories").doAnotherThing; //normal single select 

Posible?

Respuesta

15

El nombre de atributo correcto para un elemento <select> con varias opciones seleccionables es múltiple. Puede usar el selector "tiene atributos" para seleccionar elementos con el atributo múltiple y combinarlo con : not() para seleccionar elementos que solo permitan una única selección.

Por lo tanto, el selector de jQuery debe ser:

$("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

0

Si usted tiene algo como esto (XHTML):

<select id="categories" size="3" multiple="multiple"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 

Se puede crear un selector, que comprueba el multiple -tributo. Pruebe algo como esto:

$('select#categories[multiple="multiple"]').doOneThing();