gpt4 book ai didi

ruby-on-rails - jQuery 自动完成 - 如何查看项目标签但提交项目值

转载 作者:行者123 更新时间:2023-12-04 10:58:15 25 4
gpt4 key购买 nike

我对 javascript 完全陌生,可能咬得比我能咀嚼的还要多,但我正在尝试获得 jQuery autcomplete在我的 Rails 站点上工作的小部件。
我有一个名为“链接”的页面,我希望能够将一个人分配给一个链接。使用自动完成我应该能够有一个文本框,下降到自动完成所建议的人们名称列表,并且在选中时,人员名称仍保留在文本框中。但是当提交表单时,我不希望随表单一起发送人员姓名,我希望随表单一起发送人员 ID。
所以问题是如何让人名一旦被选中,留在文本框中,但是一旦提交,人的 id 就会被提交。
在 Rails 中,这就是我从 Person Controller 提供 JSON 数据的方式:

def index  
if params[:term]
@people = Person.find(:all,:conditions => ['given_name LIKE ?', "#{params[:term]}%"], :limit => 5)
else
@people = Person.all
end

respond_to do |format|
format.html # index.html.erb
format.json { render :json => @people.to_json(:only => [:id, :given_name]) }
end
end
以上输出以下 JSON 文本:
[{"person":{"id":1,"given_name":"dale"}},{"person":{"id":2,"given_name":"sally"}},{"person":{"id":3,"given_name":"joe"}}]
使用 jQuery 自动完成插件,如何让“given_name”出现在建议的匹配项中,选择后将“given_name”留在文本框中,但在提交表单时发送“id”值。
我想我需要在 javascript 中指定要显示的标签以及要发送的值。由于我刚刚掌握 javascript,如果您能解释您的答案是如何工作的,那将不胜感激。谢谢。

最佳答案

这是内置于自动完成的。看看一些例子——其中一个以这种格式返回数据:

[{
"id": "Ciconia ciconia",
"label": "White Stork",
"value": "White Stork2"
},
{
"id": "Platalea leucorodia",
"label": "Spoonbill",
"value": "Spoonbill"
}]

您可以以不同方式提供标签和值。

关于ruby-on-rails - jQuery 自动完成 - 如何查看项目标签但提交项目值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3219167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com