当没有找到与 Rails 的 JQuery 自动完成匹配时如何显示响应

Posted

技术标签:

【中文标题】当没有找到与 Rails 的 JQuery 自动完成匹配时如何显示响应【英文标题】:How to display response when no matches found for JQuery autocomplete with Rails 【发布时间】:2012-08-31 19:52:36 【问题描述】:

我正在使用 rails3-jquery-autocomplete gem。一切都很顺利。

我现在唯一的问题是弄清楚当自动完成文本没有匹配项时如何显示“不匹配”消息。

我是新手 - 我看过这些类似的回复(here 和 here,但似乎仍然无法弄清楚。

谢谢!

【问题讨论】:

【参考方案1】:

我做了这样的事情:

jQuery(".auto_search_complete").live("click", function() var $this = jQuery(this); $this.autocomplete( minLength: 3, source: function (request, response) jQuery.ajax( url: "/autocomplete.json", data: term: request.term , success: function (data) if (data.length == 0) // You would enter a return for printing "No Response" here. // I did: // $this.siblings('span.guest_email').show(); // $this.siblings('span.delete_button').show(); response(data); ); , // ... Rest of your stuff here, like focus, select... this above bit is your answer....

我使用了jQuery,因为我的 $ 被原型占用了,所以我不得不有所不同。

因此请注意,您必须使用长格式的 ajax 请求,而不是花哨的快速请求,因为您想将成功分解为“如果没有数据子句”

【讨论】:

dang,我想知道你在 if (data.length == 0) 部分放了什么?甚至console.log("I am here"); 都不起作用? 我只有一个不匹配的 div,我做了 $("#no-matches").text("No matches.")。我会再搞砸一些,并尝试找出问题所在。 如果我能确切地记得是什么引导我找到我的工作代码,也许我也改变了其他东西,但老实说,我发誓它应该对你有用。 嗨!谢谢-我没有使用 rails3-jquery-autocomplete gem 就做到了,然后就可以了。

以上是关于当没有找到与 Rails 的 JQuery 自动完成匹配时如何显示响应的主要内容,如果未能解决你的问题,请参考以下文章

未定义的方法“自动完成”rails 3和jquery

如何在 Rails 中使用 JQuery Cropper 插件?

Rails 4 / jQuery:需要在表单输入中输入值以自动填充其他输入

Rails:搜索表单中的jquery自动完成

如果没有可用数据,rails3-jquery-autocomplete 清除字段

带有嵌套属性的 Rails Jquery-ui 自动完成