2012-08-29 4 views
0

Je:générer un événement de changement de JavaScript

<input name="X"> 

et JavaScript:

$('input').on('change','[name=X]',function() { 
     $('body').append('on change fired!'); 
    } 
); 
$('input[name=X]').change(function() { 
    $('body').append('change fired!'); 
}); 
$(input[name='X']).val('test'); 

Mais mon problème est que ni l'événement de changement est congédié.

+3

Avez-vous mettre vos codes dans les '$ (document) .ready'? – undefined

+0

C'est à la fin du html juste au-dessus du/body. –

+2

Il y a une erreur de syntaxe dans votre code, vous avez manqué les guillemets pour le sélecteur 'input'. – undefined

Répondre

1

Modification de la valeur d'un L'élément d'entrée par programmation ne déclenchera aucun événement. Vous pouvez également appeler .change après .val comme ci-dessous,

$('input[name=X]').val('test').change(); 

Edit: également fixé les Guillemets manquants autour du sélecteur d'entrée.

DEMO:http://jsfiddle.net/G6n4h/1/

+0

Votre violon m'a aussi aidé avec mon autre problème de syntaxe. Merci! –

1

Assurez-vous que vous utilisez un bloc prêt

jsFiddle

$(function(){ 
    $('input').on('change','[name=X]',function() { 
     $('body').append('on change fired!'); 
    }); 
    $('input[name=X]').change(function() { 
     $('body').append('change fired!'); 
    }); 
    $(input[name='X']).val('test'); 
}); 

Si vous essayez simplement déclencheur est programme:

$('input[name=X]').change(); // trigger change event 
+0

Oh, je pensais que ce serait automatique. –

+0

Non, vous créez un gestionnaire de changement, sans déclencher l'événement de modification. – Gabe

+0

Mais je pensais que changer la valeur déclencherait automatiquement l'événement de changement. –

4

Il vous manque des guillemets autour de votre sélection, plus que diriez-vous d'ajouter déclencheur?

$("input[name='X']").val("test").trigger("change"); 

Le fiddle

+0

Les cotes ne sont pas requises – Gabe

+0

Oh, un déclencheur ... –

+0

@Gabe comment se différencierait-il entre un sélecteur et une variable? Je pensais que tous les sélecteurs jquery nécessitent des citations autour d'eux! – hsalama

Questions connexes