Jeditable和Jquery UI自动完成

时间:2013-09-07 20:18:58

标签: jquery jquery-ui autocomplete jeditable

您好我正在尝试将JEditable和JQuery UI Autocomplete放在一起,所以当我点击div时,div变得可编辑,输入的内容将具有自动完成功能,我尝试过其他帖子的不同解决方案,例如

  1. Jquery ui with Jeditable
  2. How do you bind jQuery UI autocomplete using .on()?
  3. Bind jQuery UI autocomplete using .live()
  4. 最后看到一些代码看起来像这样。

    <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”不会显示任何自动完成。如果结果不好,请帮助并承担格式。非常感谢。

1 个答案:

答案 0 :(得分: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)指的是div,而不是JEditable创建的输入。我试图为创建的输入设置一个id,但是无法做到这一点。但后来想通了我可以访问input元素本身(event.target),然后调用inputElement.autocomplete解决了这个问题。