2011-06-01 24 views
9

Sé cómo obtener los atributos de un elemento, usando jquery. Pero no estoy seguro de cómo hacerlo con las opciones reales en un campo de selección.jquery buscar seleccionar opciones atributos

<select referenceID="55" name="test" id="test"> 
    <option value="1">first option</option> 
    <option value="2">second option</option> 
    <option value="3">third option</option> 
</select> 

Para obtener el referenceID me acaba de hacer esto:

$("#test").attr("referenceID"); 

Y cuando quiero obtener el valor:

$("#test").val(); 

Pero quiero conseguir un poco más interesante. Quiero poner algo de información específica en cada opción:

<select name="test" id="test"> 
    <option value="1" title="something here"*>first option</option> 
    <option value="2" title="something else here">second option</option> 
    <option value="3" title="another thing here">third option</option> 
</select> 

¿Es posible tomar un atributo dentro de las etiquetas Opciones?

Tengo la intención de tener una función de selección que lea la etiqueta del título, y me ayuda con algunas otras cosas.

Respuesta

16

Suponiendo que usted quiere encontrar el atributo title de la opción seleccionada ...

$('#test option:selected').attr('title'); 

Es decir, encontrar el elemento descendiente de #test que es (a) un elemento de opción y (b) is selected.

Si ya dispone de una selección que contiene #test, se puede hacer esto con find:

$('#test').find('option:selected').attr('title'); 
+0

Grandes muchas gracias –

0

¿Esto no funciona?

$("#test").change(function() { 

    var title = $(this).attr("title"); 

}); 
1

si está usando onchange, se puede utilizar como los siguientes:

$("#test").change(function(){ 
    var title = $(this).find('option:selected').attr('title'); 
}); 
Cuestiones relacionadas