2016-10-12 13 views
0

私は入力フィールドに値を入力しています。ボタンをクリックするとモーダルが表示され、そこに何かが選択され、入力フィールドに入力されます。入力フィールドの値が変更されていないか確認してください

私の問題は、入力フィールドの値が変わるたびにイベントをトリガーしたいということです。私はすでに.changeと.blurを使ってみましたが、トリガーはありません。これは私が試したすべてです

$('#myTextbox').on('input', function() { 
    alert("test"); 
}); 

$('#myTextbox').on('change', function() { 
    alert("test"); 
}); 

$('#myTextbox').on('blur', function() { 
    alert("test"); 
}); 
+1

どのように入力値を変更しますか?コードを使用して設定する場合は、手動でイベントをトリガーする必要があります –

+0

@A.Wolffイベントによって何を意味するのですか?申し訳ありません、これは私の最初の時間です – hungrykoala

+2

: '$( '#myTextbox')。( 'something')trigger( 'input');'しかし、問題の最小限のサンプル複製問題を提供していた場合、問題は既に修正されています。これは多くの混乱を避けるためには、入力フィールドにデータを入力するために –

答えて

2

使用event delegation

あなたの質問は、あなたの入力フィールドが動的に生成されていることを述べています。あなたのページが用意できたらDOMには入っていませんでした。

$('body').on('blur', '#myTextbox', function() { 
    alert("test"); 
}); 

FYIでは、changeも使用できます。あなたは、テキストボックスまでsetTimeoutを使用することができます

EDIT

一つの解決策は、値が取り込まなります。

OR

あなたはそれが理由です、DOMAttrModified

$('body').on('DOMAttrModified propertychange paste', '#myTextbox', function() { 
    alert("test"); 
}); 

Reference

+1

入力変更時にブルーイベントが発生しませんでした。 'change'イベントを使うべきです。 – Mohammad

+1

私はOPの問題だとは思わない。私は彼がいくつかのモーダル入力からプログラムで入力値を変更すると思います。 –

+0

あなたを混乱させて申し訳ありません、値はjsフィールドを使用しないで追加されました – hungrykoala

1
$(document).ready(function() { 
    $('#myTextbox').on('blur', function() { 
     alert("test"); 
    }); 
}); 

OR 

$(document).ready(function() { 
    $('#myTextbox').on('change', function() { 
     alert("test"); 
    }); 
}); 
+0

すでに文書の準備ができており、それでもまだ起動されていません。ありがとうございました – hungrykoala

0

で、次のように使用してみてください、あなたのinputフィールドは、実行時に投入されるかもしれない試すことができますイベントは発生していません。

すべてのイベントを1つの.on()メソッドにバインドできます。時間の無駄を書く必要はありません。

関連する問題