【问题标题】:trigger search from select within jquery ui autocomplete从jquery ui自动完成中的选择触发搜索
【发布时间】:2012-11-08 00:29:38
【问题描述】:

如何相互触发/调用 jQuery UI 自动完成事件处理程序,例如,从选择处理程序触发搜索?

谢谢,里尔

【问题讨论】:

    标签: jquery-ui autocomplete


    【解决方案1】:

    上面的答案只对jQueryUI 1.8.x有效 由于 jQueryUI 1.9.x 你必须添加一个超时:

    scott.gonzalez 说: “在 1.8 和 1.9,特别是选择现在是同步的,而之前是异步的。”

    更多:

    scott.gonzalez 说: “发生的事情是选择一个项目总是关闭菜单。关闭 菜单告诉自动完成忽略任何待处理的搜索。这个 包括您之前手动触发的搜索 菜单关闭。还值得注意的是,您正在运行 重复搜索,因为您在 值更新。”

    select: function(event, ui)
    {
        var that = $(this);            
        setTimeout(function() {
          that.autocomplete("search");
        }, 1);
    },
    

    示例:http://jsfiddle.net/RB4N3/

    【讨论】:

      【解决方案2】:

      触发search:

      $("#my-autocomplete").autocomplete("search", "SearchTerm");
      

      一般情况下,使用$("selector").widget("method" /*, options */)调用jQueryUI小部件方法

      【讨论】:

      • 好的,这可行,但它真的是访问小部件中其他事件的最佳方法吗?我一直在想一些对当前小部件实例的引用——已经附加到 dom 元素——会更好。类似于以下伪代码:this.trigger("search", "something here").
      • 我认为使用文档化 API 是最好的方法
      • 或$("#my-autocomplete").autocomplete("search", $("#my-autocomplete").val());
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多