Tengo algunas radios en mi página, y quiero hacer algo cuando cambie la radio marcada, sin embargo, el código no funciona en IE:
$('input:radio').change(...);Y después de buscar en Google, la gente sugiere usar el clic en su lugar. Pero no funciona.
Este es el código de ejemplo:
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript"> $('document').ready( function(){ $('input:radio').click( function(){ alert('changed'); } ); } ); </script> </head> <body> <input type="radio" name="testGroup" id="test1" />test1<br/> <input type="radio" name="testGroup" id="test2" />test2<br/> <input type="radio" name="testGroup" id="test3" />test3</br> </body> </html>Tampoco funciona en IE.
Entonces quiero saber que esta pasando?
También tengo miedo si se reactivará el evento de cambio si hago clic en una radio marcada.
ACTUALIZAR:
No puedo agregar comentarios, así que respondo aquí.
Uso IE8 y el enlace que Furqan me dio tampoco funciona en IE8. No se por que...
Este código funcionó para mí:
$(function(){ $('input:radio').change(function(){ alert('changed'); }); });Puede especificar el atributo de nombre de la siguiente manera:
$( 'input[name="testGroup"]:radio' ).change(Funciona para mí también, aquí hay una mejor solución:
<form id="myForm"> <input type="radio" name="radioName" value="1" />one<br /> <input type="radio" name="radioName" value="2" />two </form> <script> $('#myForm input[type=radio]').change(function() { alert(this.value); }); </script> Debe asegurarse de haber inicializado jquery por encima de todas las demás funciones de importación y javascript. Porque $ es una función jquery . Incluso
$(function(){ <code> }); no verificará jquery inicializado o no. Se asegurará de que <code> se ejecute solo después de que se hayan inicializado todos los javascripts.