2011-02-06 6 views
1

これは奇妙な質問のように聞こえるかもしれませんが、うまくいけば答えがあります。jQueryを使用して選択ボックスまたはテキストボックスが入力されたときを検出する

私のHTMLページにはいくつかの選択ボックスとテキストボックスがあります。これらのボックスには、ページが読み込まれた後のある時点で値が設定されます。私はちょうどページがロードされた後に最終的にボックスがいっぱいになることを知っています。

これらのデータが入力されるタイミングを検出できるリスナーを作成する方法はありますか?

私はsetInterval/clearIntervalを使用していましたが、jQueryがこれらのデータが入力されるタイミングを「リスニング」する方法があることを期待していました。

思考?

+0

彼らはユーザーまたはコードから価値を得ていますか? – xzyfer

+0

イベントの変更/キーアップはあなたのために機能しますか?また、フィールドに値を設定するスクリプトを制御できませんか? – Colum

+0

明確にするために(私はこれが奇妙に聞こえることは知っていますが)、入力が入力されたとき、私もユーザーも制御できません。基本的にページが読み込まれると、フィールドに何らかの形でデータが取り込まれます。私が持っているのは、空の選択とテキストボックスで、最終的にはサーバ側のタイミングで満たされます。私は、それが起こる原因を明らかにしていません。私に送信されたデータを使用できるようになると、それがいつ起こるかを知る必要があります。 – Mark

答えて

1

ユーザーが値を設定している場合は、変更イベントを聴くことができます。要素は、ページのロード後スクリプトからページに追加されている場合はtrigger()に、よく、トリガー使用することができます

$(document).ready(function() { 
    $('input, select').change(function() { 
     var $changedElement = $(this); 

     if($changedElement.val() != '') { 
      // code to keep track of which elements are checked.. 
     } 
    }); 
}); 

あなたはchange

$('input, select').live('change' function() { 
    .... 
}); 
0

ではなくliveを使用する必要がありますchangeイベント、イベントをリッスンするchange()

あなたのコードを見ることなく、あなたのページでそれらを使う方法を正確に言うのは難しいですが、うまくいけば、上記の例がいくつかの洞察を提供するはずです。

あなたの質問からは、変更がどこから来たのかも曖昧です。あなた自身のjQueryアクションから来たら、上の方がうまくいくはずです。もしあなたの行動から来ているのであれば、input(後のセクション$('input').change())のchange()イベントを聞くだけです。

+0

David〜実際に入力を埋める関数がないので(私のオリジナルの投稿に私のコメントを見てください)、これを行う別の方法がありますか? – Mark

+0

@マーク: 'change()'イベントをリスンすることはできますが、私は入力の人口につながるやや魔法のイベントに魅了されています。 –

+0

多分私は十分にこれを行う方法を理解していない。私のHTMLページは、基本的にプラットフォームからデータを取得します。そのデータが私のページに来るためには、私はプラットフォームにパラメータを送り、結果を選択またはテキストボックスに返します。データが返されるまでの時間は不明ですが、データが戻ってきたら私はそれを行う必要があります。したがって、いつデータが戻ってくるかを知る必要があります。本質的に、パラメータを送信するタイミングはわかりますが、データがいつ、どのように戻ってくるかはわかりません。私はjQueryのAJAXに慣れていませんが、これはAJAXが処理できるようなものですか? – Mark

関連する問題