1

こんにちは、JEditable と JQuery UI Autocomplete を一緒にしようとしているので、div をクリックすると div が編集可能になり、入力されたコンテンツにオートコンプリート機能が追加されます。次のような他の投稿とは異なるソリューションを試しました。

  1. Jeditable を使用した Jquery ui
  2. .on()を使用してjQuery UIオートコンプリートをバインドするにはどうすればよいですか?
  3. .live() を使用して jQuery UI オートコンプリートをバインドします。

そして最終的に、次のようなコードにたどり着きます。

<div class="edit_school" id="edit_school_pending">ADD</div>

$(document).on(
    "focus", 
    ".edit_school:not(.ui-autocomplete-input)", 
    function(event) { 
         alert("Hey");
     $(this).autocomplete(
         {source: ["a","ab","aa","ac"]}
    );}
 );

JQuery バージョン: jquery-1.9.1.js
JQuery UI バージョン: code.jquery.com/ui/1.10.3/jquery-ui.js

「追加」をクリックすると、「追加」がテキストボックスに表示され、アラートが表示されますが、「a」と入力してもオートコンプリートは表示されません。フォーマットがうまくいかない場合は、助けてください。どうもありがとう。

4

1 に答える 1

1

最後に、JEditable/Autocomplete も初めて使用する人のために、これを理解しました。これが実際のコードです。

    $(document).on(
        "focus", 
        ".edit_school", 
        function(event) { 
            alert(event.target);
            $(event.target).autocomplete(
                {source: ["a","ab","aa","ac"]}
            );
        }
    );

 <div class="edit_school" id="edit_school_pending">ADD</div>

最後の投稿は、「$(this).autocomplete()」の呼び出しが原因で機能しませんでした。ここで、$(this) は、JEditable によって作成された入力ではなく、div を参照します。作成された入力の ID を設定しようとしましたが、それを行うことができませんでした。しかし、その後、入力要素自体 (event.target) にアクセスできることがわかり、inputElement.autocomplete を呼び出して問題を解決しました。

于 2013-09-08T18:53:17.727 に答える