gpt4 book ai didi

jquery - 没有结果的 rails 4 jquery 自动完成文本

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:37 25 4
gpt4 key购买 nike

我有 rails-4-jquery-autocomplete gem 安装。我在我的注册页面(通过设计完成)上使用它,用户可以在其中选择他们的学校。我目前遇到的问题是,当没有找到学校时,我想显示一个文本,例如“我的学校未列出”。目前,默认显示文本“没有现有的匹配项”,我想更改该文本。

enter image description here

查看 gem 的文档,我没有看到在没有找到结果时设置文本的方法。如果没有找到任何结果,有没有办法覆盖 gem 并返回不同的字符串?或者,我需要修改 jquery 调用吗?

建议 Controller

class SuggestionsController < ApplicationController
autocomplete :school, :name, :full => true
end

查看

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>

<div>
<%= f.label :school_id %>
<%= f.autocomplete_field :school_name, autocomplete_school_name_suggestions_path %>
</div>

<% end %>

最佳答案

"no existing match" 消息由第 61 行的 autocomplete-rails-uncompressed.js 文件插入 here :

if(arguments[0].length == 0) {
arguments[0] = []
arguments[0][0] = { id: "", label: "no existing match" }
}

看起来该字符串是硬编码的,因此如果您不付出额外的努力,就无法自定义空消息。

一个简单的解决方案是删除该行

//= require autocomplete-rails

从您的 application.js 文件复制并粘贴 autocomplete-rails-uncompressed.js 文件到您的 javascripts 文件夹,并更改 "no existing将" 字符串匹配到您的首选短语。这种方法的缺点是,如果将来要更新此 gem,则需要您更新修改后的 javascript 文件。

更好和更复杂的解决方案是 fork gem 并更改 javascript 逻辑以接受 "no existing match" 以外的选项。一旦实现,您就可以提交一个拉取请求,将新的和改进的逻辑合并到 master 中。

关于jquery - 没有结果的 rails 4 jquery 自动完成文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577727/

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