2012-04-01 3 views
8

tengo HTML así:cambio de llamada() controlador de eventos si selecciono el botón de radio programáticamente

<input type="radio" name="type" value="FL" checked="checked" />Fixed 
<input type="radio" name="type" value="SV" />Saving 
<input type="radio" name="type" value="L2" />Type 2 

Y script siguiente

$(function() { 
     $('input[name=type]').change(function() { 
      alert($(this).val()); 
     }); 
     $('input[value=SV]').attr('checked', 'checked'); 
    }); 

En primer lugar, se han añadido un evento de cambio de botón de radio. cambiar controlador de eventos activado si selecciono el botón de opción de la interfaz de usuario. Pero no se activa cuando cambio el valor del botón de selección de forma prográmatica.

Deseo que change event también se activen cuando selecciono el botón de opción de forma prográmatica.

+0

se elige un mal apodo . Qué vas a hacer el próximo año...? – gdoron

+0

Lo cambiaré a mi nombre real después de unos días solamente. – shashwat

+0

posible duplicado de [Evento de cambio de casilla que no se activa] (http://stackoverflow.com/questions/7387531/checkbox-change-event-not-firing) ... utilice la búsqueda antes de hacer una nueva pregunta. –

Respuesta

8

Puede utilizar trigger() para elevar mediante programación un evento:

$(function() { 
    $('input[name=type]').change(function() { 
     alert($(this).val()); 
    }); 
    $('input[value=SV]').attr('checked', 'checked').trigger('change');   
}); 
1

No cambiará automáticamente. Que tiene que hacer uno de los siguientes:

ya sea

$('input[value=SV]').attr('checked', 'checked').trigger("change") 

o

$('input[value=SV]').attr('checked', 'checked').change(); 
+0

Gracias @FreeCandies Me gusta el segundo método que describes. – shashwat

Cuestiones relacionadas