【问题标题】:JQuery autocomplete Search methodjQuery自动完成搜索方法
【发布时间】:2011-11-04 10:27:10
【问题描述】:

我在我的网站上使用 JQuery UI 自动完成功能。我正在创建这样的自动完成对象:

  $.widget( "custom.code_complete", $.ui.autocomplete, {
    _renderMenu: function( ul, items ) {
            var self = this,
                currentCategory = "";
        $ul = ul;
            $.each( items, function( index, item ) {
                if ( item.category != currentCategory ) {
                    ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
                    currentCategory = item.category;
                }
                self._renderItem( ul, item );
            });
        }
    });

  $("#r-code").code_complete({
    source: "URL",
    minLength: 2,
    select: function(event, ui) {
      $(".button-row").fadeIn();
      get_details(ui.item.url);
    }
  });

这可以很好地设置自动完成字段。我可以很好地在字段内搜索,它可以毫无问题地返回结果。但是,有时用户会从另一个页面重定向,并将自动完成值设置为参数,如果是这种情况,将以编程方式触发自动完成,我正在尝试使用以下代码执行此操作:

function parse_param_code(code) {
  console.log(code);
  $("#r-code").autocomplete('search', code);
}

该方法调用成功,代码输出到控制台,但没有触发自动完成搜索,也不做任何事情。我在我的代码中做错了什么以不触发搜索吗?我已经阅读了 JQuery UI 文档,上面的代码应该会触发搜索方法。任何帮助将不胜感激。

谢谢

伊夫

【问题讨论】:

    标签: javascript jquery autocomplete jquery-autocomplete


    【解决方案1】:

    改变 $("#r-code").autocomplete('search', code);

    到您自己的小部件名称,即:

    $("#r-code").code_complete('search', code);

    产生想要的结果。

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

    如果您执行console.log($("#r-code").data("autocomplete"));,您会注意到元素上没有附加该名称的小部件。

    【讨论】:

    • >.
    猜你喜欢
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2015-08-02
    • 2019-05-05
    • 1970-01-01
    相关资源
    最近更新 更多