0

すべてのテキスト入力に対してフォーカスで ajax 呼び出しを実行しようとしています。最初のページ (ドキュメントの準備ができているとき) に作成できますが、ページを変更すると、ドキュメントの準備ができたときに作成されなかったため、javascript は入力を解析できません。どうすれば修正できますか?

    jQuery(document).ready( function(){
    jQuery('[id^=urun_sirasi-]').focus(function(){
    event.preventDefault();
    var urun_sirasi=jQuery(this).data('sira');
    console.log(urun_sirasi);
    jQuery('#urun_sirasi-'+urun_sirasi).bind('keyup',function(e)
    {
       console.log(jQuery("#urun_sirasi-"+urun_sirasi).val());
        jQuery.ajax({
            url:'../ajax.php',
            data:'process=siralama&urun_id='+urun_sirasi+'&urun_sirasi='+jQuery.trim(jQuery("#urun_sirasi-"+urun_sirasi).val()),
            success:function(e){
               // e -> 1 ve ya0 geliyor.
                console.log(e);
            }
        });
    });
  });
});

ご協力いただきありがとうございます。

4

2 に答える 2

0

これは、jQuery セクションでは非常に一般的な問題のようです。http://api.jquery.com/on/のドキュメント、特に委任されたイベントに関するセクションを参照.on()してください。

委任されたイベントには、後でドキュメントに追加される子孫要素からのイベントを処理できるという利点があります。

于 2013-06-16T06:43:57.207 に答える
0

「expand」クラスを使用して将来のすべてのアイテムのイベントを作成するドキュメント準備で次の構文を使用します。調整できるはずです

$(document).on('click',"#myTable .expand", function(){

あなたのものはこのようなものでなければなりません(各要素セレクターにイベントを持たせるのではなく、アイテムにクラスを与えるかもしれません)

 $(document).on('keyup',"#yourTable .urun_sirasi-key", function(){
于 2013-06-17T20:28:00.783 に答える