2012-03-22 7 views
0

オプションを提供するPHPファイルにINPUTフィールドのIDを渡したいとします。ここに私のHTML & jQueryコードです。しかし、PHPプログラムは、undefinedというIDを取得します。助けてくれてありがとう。jQueryオートコンプリートのPHP補完プログラムにHTML INPUTフィールドIDを渡す

のjQuery:

$('.classfield').autocomplete({ 

     //define callback to format results 
     source: function(req, add){ 

     //pass request to server 
     $.getJSON("ajax/ajax_suggestions.php?id="+$(this).attr('id')+"&callback=?", req, function(data) { 

      //create array for response objects 
      var suggestions = []; 

      //process response 
      $.each(data, function(i, val){ 
      suggestions.push(val.name); 
      }); 

      //pass array to callback 
      add(suggestions); 
     }); 
     }, 

     //define select handler 
     change: function(e) { 
     $("#spill").html("change "+$(this).val()+e.type); 
     } 
    }); // autocomplete 

HTML:thisは、オートコンプリートのパラメータに置かれているオブジェクトであるため、$(this).attr('id')

<input type="text" class="classfield" id="hello" value="there"></input><br> 
+0

あなたはHTML btwを追加しておらず、サーバーのURLに "...&callback =?"という奇妙な記号があります。 – shershen

答えて

0

this.elementからIDを取得してみてください。

また
//pass request to server 
$.getJSON("ajax/ajax_suggestions.php?id="+this.element.attr('id')+"&callback=?", req, function(data) { 

見ますthis example

+0

うわー、働いた!ありがとう。 –

+0

あなたは大歓迎です。すべての質問の正解を受け入れることができればうれしいです([このリンク](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) )。 – scessor

1

値は不定です(オートコンプリートのパラメータは、オブジェクトを受け入れ、したがって、$(this).attr('id')を使用する場合は、オートコンプリートのパラメータで渡されたオブジェクトを参照しています)

したがって、$(this).attr('id')は使用できません。

あなたは、テキストフィールドのIDを格納する必要があり、グローバル変数...希望通りであり、これは少し助け

関連する問題