0

jQuery 1.7.2 を使用してフォームの機能を手動でトリガーしようとしていますが、change()機能しません。これは私のコードです:

 $(document).ready(function(){

     console.log('going to change form');

     $('form[name="newBom"] input').trigger('change');

     $('form[name="newBom"] input').change(function() {
            console.log('form changed');
     });
 });

私は何を間違っていますか?

4

2 に答える 2

2

ハンドラーが入力にバインドされるchange前でもトリガーしているため、期待される機能が得られません。ハンドラーをバインドしたにイベントchangeをトリガーすることで、これを修正できます。changechange

// bind the handler
$('form[name="newBom"] input').change(function() {
    console.log('form changed');
});

// now, trigger the change event
$('form[name="newBom"] input').trigger('change');
于 2013-03-18T08:42:20.943 に答える
1
 $(document).ready(function(){

     console.log('going to change form');

     //Attach event handler first
     $('form[name="newBom"] input').change(function() {
            console.log('form changed');
     }); // missing );

     //Trigger event
     $('form[name="newBom"] input').trigger('change');


 }); //missing );

** 作業例:** http://jsfiddle.net/RG5gn/

于 2013-03-18T08:43:28.887 に答える