我正在尝试使用简单的自动完成功能来获取用户名列表(~500)。
我看到可以调用包含请求列表的某个文件(即php,ashx)。 这是什么文件? 应该怎么看清单? 哪里可以找到其他数据?
Alternativily(我的首选)我可以使用固定列表:
来自devbridge代码:lookup: ['January', 'February', 'March', 'April', 'May']
或jquery-UI代码:source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
。
但问题是如何设置这个数组没有硬编码 - 我试过:
var arr1 = ['January', 'Jania','February', 'March', 'April', 'May'];
var arr2 = [];
for(var i=0;i<all_analysts.length;i++){
arr[i] = all_analysts[i];
alert(arr[i]);////////
}
lookup: arr2 //local lookup values
但仅在使用硬编码时:lookup: ['January', 'February', 'March', 'April', 'May']
它有效。
你能帮忙吗?
谢谢!
答案 0 :(得分:0)
关于第一个问题 - 请看一下这个例子:http://jqueryui.com/demos/autocomplete/#remote
如您所见,如果 source 选项是一个字符串,则将其视为将向其发出ajax请求的url,以便获取用户输入的匹配项的数据列表。给定url应返回JSON format中的数据。
例如,如果要将source选项设置为“/ find_users”。一旦用户将输入字符串“mo”输入到输入字段中,自动完成小部件就会对跟随url:“/ find_users?term = mo”发出ajax请求。一旦用户输入另一个字母(让我们说它的“r”),另一个请求将被发送到url:“/ find_users?term = mor”。
请注意 term 查询变量,其中包含用户在您网页上输入的当前值。
关于第二个问题 - 您的代码中存在拼写错误 - 您(因为我不清楚的原因)将数组all_analysts中的值放入 arr 变量中然后将 arr2 设置为 lookup 参数值。在您的示例中, arr2 是一个空数组,因此自动完成功能无法正常工作...