0

私は持っています:

<input name="X">

および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');

しかし、私の問題は、どちらの変更イベントも発生しないことです。

4

3 に答える 3

4

セレクターの周りに引用符がありません。さらに、トリガーを追加してみませんか?

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

フィドル_

于 2012-08-29T19:28:42.633 に答える
1

レディブロックを使用していることを確認してください

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'); 
});

単にトリガーしようとしている場合は、プログラムで行います。

$('input[name=X]').change(); // trigger change event
于 2012-08-29T19:26:54.643 に答える
1

プログラムで入力要素の値を変更しても、イベントはトリガーされません。または、以下のように電話をかけることもでき.changeます。.val

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

編集:入力セレクターの周りの欠落している引用符も修正しました。

デモ:http: //jsfiddle.net/G6n4h/1/

于 2012-08-29T19:27:05.110 に答える