0

我有一些自动完成字段,我希望用户能够输入搜索词的任何部分以获得正确的结果。例如,如果他们输入“ang”,他们会得到 angel 和 Los Angeles。我尝试在这里将源更改为 Array ,但没有成功:

$.widget( "ui.autocomplete", {
version: "1.10.2",
defaultElement: "<input>",
options: {
    appendTo: null,
    autoFocus: false,
    delay: 300,
    minLength: 1,
    position: {
        my: "left top",
        at: "left bottom",
        collision: "none"
    },
    source: Array,

我需要在 autocomplete-rails.js 文件的某处进行更改吗?谢谢您的帮助。

4

2 回答 2

0

我认为你需要在 Rails 端改变一些东西,因为这样的模式匹配在客户端并不容易获得。我想您将需要覆盖自动完成用于查找其结果的方法以使用更像

City.where('name = ?, ["%#{params[:name]}"])

我不是 SQL 专家,但你明白了。

于 2013-05-21T14:18:38.720 回答
0

那么答案在 autocomplete-rails 的文档中是正确的:

 :full => true

默认情况下,搜索从您要搜索的字符串的开头开始。如果要进行完整搜索,请将 full 参数设置为 true。

class ProductsController < Admin::BaseController
  autocomplete :brand, :name, :full => true
end

https://github.com/crowdint/rails3-jquery-autocomplete

于 2013-05-21T15:27:14.193 回答