2011-08-23 10 views
7

¿Cómo puedo detectar en jQuery cuando se ha cambiado alguna opción en una etiqueta de selección?jQuery - controlador de eventos para detectar si se ha seleccionado la opción de selección de HTML

Por ejemplo [pseudocódigo]:

event handler function -> option changed(){  
    //do some stuff 
} 

EDIT:

Tengo el siguiente selecto:

<select id = "selectattribute"> 
    <OPTION VALUE="0">Choose Attribute</OPTION> 
    <?php echo($options);?> 
</select> 

Estoy tratando esto en jQuery:

$(document).ready(function() { 
    $("#selectattribute").change(function() { 
    alert('Handler for .change() called.'); 
    }); 
}); 

No pasa nada ... th la función e isn; t triggering.

EDIT: funciona cuando uso $("#select") en lugar de $("#selectattribute")...can you not apply it to particular select tags?

+0

adjunta un oyente al elemento de selección durante el evento de cambio. Puede usar jQuery (o cualquiera de una serie de bibliotecas), o unas pocas líneas de script simple, o un controlador en línea. – RobG

+0

@RobG: Realmente no deberías proponer un gestor en línea ... – Saxoier

+0

¿Has probado diferentes navegadores? –

Respuesta

8

De jQuery docs regarding the change handler:

<form> 
    <input class="target" type="text" value="Field 1" /> 
    <select class="target"> 
    <option value="option1" selected="selected">Option 1</option> 
    <option value="option2">Option 2</option> 
    </select> 
</form> 
<div id="other"> 
    Trigger the handler 
</div> 

El controlador de eventos puede estar unida a la entrada de texto y el cuadro de selección:

$('.target').change(function() { 
    alert('Handler for .change() called.'); 
}); 
+0

Hola he visto que e implementado pero ISN; t trabajo ... ver mi post editado – user906568

+0

Se debe trabajar de acuerdo con el código que envió en tu edición Vea el enlace del violín por "Jon P" en otra respuesta aquí. Su código publicado funciona cuando está aislado. Por lo tanto, es posible que tenga otras cosas en el resto de la página que lo estropeen; es posible que deba publicar toda la página HTML. ¿Estás usando el nombre de identificación más de una vez? ¿Hay algún error de JavaScript en la consola? –

1
$("select").change(function() {}) 
+0

Lo he intentado pero no funciona -> vea mi publicación editada – user906568

+0

necesita ver los documentos para los selectores de jquery '$ (" seleccionar ")' seleccionará todas las etiquetas '