rails3-jquery-autocomplete在初始焦点上填充下拉列表

时间:2011-09-13 16:46:54

标签: jquery ruby-on-rails ruby-on-rails-3 autocomplete jquery-autocomplete

当自动填充文本字段中没有任何内容时,我正在尝试使用自动填充项目的下拉列表自动填充焦点以及特定表格中的所有条目。除了我需要这一项功能外,一切都与它完美配合。

我试过了:

$('#activity_name').focus(function() {
  if (!$(this).val() || $(this).val() == '') {
    $(this).val('%');
    $(this).trigger("focus");
  }
})

其中#activity_name是autocomplete_field_tag。您可以从值中判断出我正在尝试获取表格中的所有项目,以显示该字段最初关注的时间。

我已经将autocomplete_rails.js文件更改为使用1+个字母而不是2个以上的字母,所以应该只使用%字符进行查询(我只需在文本字段中键入%即可确认)。

以下是我在autocomplete_rails.js中更改的代码:

search: function() {
  var a = c(this.value);
  if (a.length < 1) return ! 1
},

任何见解都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

开始定义来源。

您实际上可以重构我的解决方法。

                    $("input#xiruki").autocomplete(
                    {
                        source: <%= raw Category.select("distinct description as value, code as name, id as ID").where("description ILIKE ?", "%#{params[:term]}%").to_json %>,
                        minLength: 0,
                        select: function (event, data) {
                            $(this).autocomplete('disable');
                        console.log(data.item);

                        }
                    })
                    .blur(function(){
                        $(this).autocomplete('enable');
                    })
                    .focus(function () {
                        $(this).autocomplete('search', '');
                    });

您可以将ILIKE字词更改为LIKE,因为ILIKE仅适用于PG。