0

すでに質問されていることを質問して申し訳ありません(たとえば、ここ:

動的に作成された入力の jQuery オートコンプリート)

しかし、インターネットで見つけた助けにもかかわらず、私はそれを機能させることができません。したがって、動的に作成された入力で Jquery オートコンプリートを使用する必要があります。私のコードは次のようになります。

$("#add_ligne2").live("click", function() { ...
         if (nb_ligne < 10) {
            var html = "";
            var next_ligne = last_ligne;
            html = '<tr rel="' + next_ligne + '">';
            html += '<td><input type="text" id="autoCompleteProjets' + next_ligne + '"/></td>';
            html += '</tr>';
            $("#content_tr").append(html);
            $('#autoCompleteProjets1', html).autocomplete(autocomp_opt);
         }
      }
      var autocomp_opt = {
         source: "/index/autocomplete",
         minLength: 2,
         select: function(event, ui) {
            /* console.log( ui.item ?
                 "Selected: " + ui.item.value + " aka " + ui.item.id :
                 "Nothing selected, input was " + this.value 
             );*/
            $('.hidden').val(ui.item.id);
         }
      }
4

1 に答える 1

0

固定ID「autoCompleteProjets1」を使用します。「autoCompleteProjets」+ next_ligneが必要だと思います

$('#autoCompleteProjets' + next_ligne, html).autocomplete(autocomp_opt);

すでに持っているかもしれませんが、とにかく言及します-匿名関数の外側でlast_ligneを初期化することを確認してください。そうしないと、スコープ外になると設定解除されるローカル変数を作成します。

var last_ligne = 0;

次に、last_ligne 変数をインクリメントせずに、次のように使用します。

var next_ligne = ++last_ligne;

そして最も重要なことは、firefox で firebug を使用するか、他のブラウザーで同等のものを使用して、実際に何を生成するかを調べることです。

于 2013-06-10T09:44:08.030 に答える