是否可以使用Rails3 JQuery自动完成宝石选择DISTINCT值?
我尝试使用autocomplete jquery-ui脚本,但是从文档中解释说远程源必须返回一个json数据,它不是在讨论纯文本响应,而是在jsp/servlet中开发我的应用程序而我不知道如何创建json数据.
所以我发现了另一个jquery自动完成插件 - > java自动完成功能
本教程和脚本工作得很好,但脚本没有我需要的相同选项.我尝试保持相同的getdata.jsp和servlet页面以适应jquery-ui-autocomplete只更改脚本的链接,firebug说我对请求的正确响应但是没有显示!
JavaScript调用:
<script>
$(function() {
$( "#responsable" ).autocomplete({
source: "getdata.jsp",
minLength: 2
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是getdata.jsp文件:
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="fr.myldap.model.*"%>
<%
PersonneDB db = new PersonneDB();
String query = request.getParameter("term");
List<Personne> personnes = db.getData(query);
Iterator<Personne> iterator = personnes.iterator();
while(iterator.hasNext()) {
String personne = (String)iterator.next().getNomComplet();
out.println(personne);
}
%>
Run Code Online (Sandbox Code Playgroud)
这是返回人员列表的PersonneDB类
package fr.myldap.model;
import java.util.ArrayList;
import java.util.List;
public …Run Code Online (Sandbox Code Playgroud) java jquery firebug jquery-autocomplete jquery-ui-autocomplete
出于某种原因,我在网站上制作的ajax请求在一半的时间内中止.当我为ajax请求设置超时时,这解决了,如下所示.
$.ajax({
url: "/question/why_wont_it_work",
timeout : 1000,
success: function(){ /*do stuff*/ }
});
Run Code Online (Sandbox Code Playgroud)
遗憾的是,超时修复似乎不适用于jquery自动完成.我这样使用它:
$( "#questionTags" ).autocomplete({
source: "/question/tags",
timeout: 1000,
select: function(event, ui) { /*do stuff*/ },
});
Run Code Online (Sandbox Code Playgroud)
我检查了网站上的jQueryUI文档,但也没有看到超时选项.现在这很烦人,因为有一半时间我的请求会中止,我不会得到我想要的结果.有没有解决的办法?
提前致谢.
基本上我有一个酒店搜索引擎,在网站顶部有一个搜索字段,必须显示自动完成结果.结果可以是酒店或地点(城市).可与Facebook自动填充相比(搜索可以是人,页面......)
我从基本的geonames jsuery例子开始:http://jqueryui.com/autocomplete/#remote-jsonp
但我无法弄清楚如何使用我自己的JSON api酒店.我知道我应该将我的JSON酒店与地理名称合并吗?有谁能告诉我这是怎么回事?
正如您在http://jsfiddle.net/hn838/4/中看到的那样,'click'对于autofiller工作正常,但我想在输入密钥按键上触发相同的代码,但它对我不起作用.我的代码在这里.点击:
$('.ui-autocomplete').on('click', '.ui-menu-item', function(){
$('.college').trigger('click');
});
Run Code Online (Sandbox Code Playgroud)
键盘:
$('.ui-autocomplete').on('keypress', '.ui-menu-item', function(e){
if (e.which == 13) {
e.preventDefault();
$('.college').trigger('click');
}
});
Run Code Online (Sandbox Code Playgroud)
我想要 $('.college').trigger('click');执行click并进入keypress.点击工作正常,但按键不工作.任何线索?
javascript jquery autocomplete jquery-autocomplete jquery-ui-autocomplete
我正在编辑整个帖子以显示问题:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link type="text/css" href="./jQuery/jQueryUI/css/ui-darkness/jquery-ui-1.8.4.custom.css" rel="stylesheet" />
<script type="text/javascript" src="./jQuery/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="./jQuery/jQueryUI/js/jquery-ui-1.8.4.custom.min.js"></script>
<script type="text/javascript">
$(function() {
var availableTags = ["ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme"];
$("#tags").autocomplete({
source: availableTags
});
});
</script>
</head>
<body>
<br/><br/><br/>
<div id="LoginLinkSearch" class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" />
</div>
<br/><br/><br/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我在其他浏览器中遇到问题,但我相信这是因为我为jqueryUI使用了一个糟糕的CSS文件.
如何确保输入字段中的值始终只有来自源的值?
例如,如果在源头我有
source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
Run Code Online (Sandbox Code Playgroud)
这是数据库驱动的实际脚本是:
source: "get_json.aspx";
Run Code Online (Sandbox Code Playgroud)
在输入字段中我输入" 冷 ",如何阻止这种情况发生?
当输入字段中的焦点丢失时,如何确保源中存在值?
我正在尝试格式化json响应:
[
{
"id": "23029",
"label": "F:\path\to\file\filename.txt",
"value": "filename.txt"
},
{
"id": "23030",
"label": "F:\path\to\file\filename.txt",
"value": "filename.txt"
},
{
"id": "23031",
"label": "F:\path\to\file\filename.txt",
"value": "filename.txt"
}
Run Code Online (Sandbox Code Playgroud)
]
但根据JSONLint的说法,"正在打破""结构"?如果我用\替换\ 它工作,所以我知道\是问题.我在jQuery的自动完成中使用响应.
我应该使用SerializeJSON()吗?如果是这样,我是否需要在ajax自动完成脚本中更改某些内容?
$(function() {
var cache = {},
lastXhr;
$( "#media" ).autocomplete({
minLength: 2,
source: function( request, response ) {
var term = request.term;
if ( term in cache ) {
response( cache[ term ] );
return;
}
lastXhr = $.getJSON( "ajax/search.cfm", request, function( data, status, xhr ) …Run Code Online (Sandbox Code Playgroud) 我正在使用jquery autocomplete pluguin.配置为使用多个值.
我设置选项 minLength:2
minLength选项仅适用于第一个autosuggest单词,对于多个值,它不起作用.
我如何配置或我需要覆盖哪个方法来解决此问题.
我正在接管一个新的网站,它使用了一个旧的不推荐使用的jquery autocomplete插件版本.我正在尝试使用最新的jquery ui自动完成重新创建功能,并且有一个功能我似乎无法复制.
我想在有多个值允许的情况下复制"mustMatch"功能.
所以基本上,如果我开始输入任何未显示在任何搜索结果中的测试(甚至是部分字符串搜索),它会重置该字段的条目(而不是让我输入不在有效列表中的垃圾)选择)
所以我可以说我的名单(本地)是{"Bird","Song","Happy"}
它会让我输入
Bird, Son
Run Code Online (Sandbox Code Playgroud)
但如果我在之后键入z它会保持打开状态
Bird, Son
Run Code Online (Sandbox Code Playgroud)
告诉我这是一个无效的条目
这可以在jquery ui自动完成中执行吗?
我看到很多来自谷歌的老帖子提出类似的问题和答案,但是没有一个似乎与多个值一起工作(许多似乎根本不工作:()
jquery ×7
jquery-ui ×5
javascript ×4
autocomplete ×3
json ×2
ajax ×1
coldfusion ×1
css ×1
firebug ×1
html ×1
java ×1