jQuery tokeninput 跨多个字段搜索

标签 jquery ruby-on-rails-3 autocomplete

我安装了 JQuery token 输入插件。 https://github.com/loopj/jquery-tokeninput 自动完成功能正在工作,但我遇到了一种情况,我正在跨多个模型属性进行搜索。例如,我有一个药物模型,模型属性包括名称和 active 成分

我正在使用meta_where gem 跨多个字段进行搜索,并且它工作正常;检查 json 输出显示我的 Drug.where() 方法返回正确的结果行。然而,在前端,jQuery 仅使用药物名称填充自动完成框。如何让 jQuery 在自动完成框中显示多个模型属性?理想情况下,我想在自动完成下拉列表中显示类似“model.name (model.active_ingredient)”的内容。现在,jQuery tokeninput 正在获取正确的行,但仅显示名称。如何显示模型的其他属性?

谢谢

最佳答案

您可以将 json 的名称和 active_ingredient 结合起来, 因为,您只能使用名称:“阿司匹林(Mentol)”

当您从 Controller 返回它并将其分开时,就像您需要它一样。

(在您的药物模型中)

def fullname
  "#{name} (#{active_ingrdient})"
end

您所需要做的就是在 json 中设置 name: 参数,并使用您的 fullname 属性填充

format.json do
  render :json => @drugs.map { |drug| drug.as_json(:only => :id, :methods => :name) }
end

手动设置:

format.json do
  render :json => @drugs.map { |drug|  {:id => drug.id, :name => drug.fullname} }
end

希望对您有进一步帮助

关于jQuery tokeninput 跨多个字段搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985286/

相关文章:

python-3.x - Python - 在可编辑的 Gtk.TreeView 单元格中自动完成

javascript - 可拖动和可排序的 Portlet//jQuery

jquery - jQuery 代码中的间歇性错误

javascript - IF && 语句 Javascript

ruby-on-rails - 使用设计手动设置 return_to

php - 可以在 NetBeans for PHP 中查看方法/函数文档吗?

jquery - 防止一个 jQuery 事件与另一个事件发生

ruby-on-rails - 如何更新单击按钮后呈现的部分?

ruby-on-rails - 对于存在的路由,为什么我会得到 'no route matches' ?

autocomplete - Django 自动完成不起作用