自动完成 Jquery Json
Autocomplete Jquery Json
我正在尝试使用外部 Json 作为自动完成 Jquery UI 插件的来源:http://jqueryui.com/autocomplete/
此代码工作正常:
var availableTags = ["aberdeen","aberystwyth","aberystwyth juniors"]
$( "#enter-your-parkrun" ).autocomplete({
open: function(e) {
var results = $.ui.autocomplete.filter(availableTags, e.term);
response(results);
valid = false;
},
select: function(e){
valid = true;
},
close: function(e){
if (!valid) $(this).val('');
},
source: availableTags,
});
$("#enter-your-parkrun").change(function(){
if (availableTags.indexOf($(this).val()) == -1){
$(this).val("");
}
});
但由于我有近 800 个值,我需要使用外部源。我尝试了不同的东西,但我找不到让它工作的方法:
$( "#enter-your-parkrun" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://tribesports.com/pages/parkrun-event-list",
dataType: "jsonp",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
},
minLength: 2,
delay: 400,
});
我不确定 q:request.term 应该是什么,是否应该解析数据?我还需要添加验证以确保只能接受列表中的值,它适用于我的第一个示例,不太确定如何将其传输到我的第二个代码。
谢谢
request.term
是用户到目前为止键入的内容,应作为 AJAX 调用中的参数传递给服务器,以便服务器可以筛选结果。
在 .ajax 调用中,dataType
是您希望从服务器返回的数据类型。你还没有展示它,但很可能是json
,而不是jsonp
.如果是JSON,jQuery会自动解析它。
至于将术语发送到服务器,
如果使用 GET 方法(这是默认值),则必须将其包含在查询字符串中,如下所示:
url: 'http://tribesports.com/pages/parkrun-event-list?term='+request.term
如果使用其他方法(通常是 POST),则必须在 jquery ajax 调用选项中指定方法选项,并且还要指定 contentType,应为 JSON:contentType:"application/json",并以所需的格式发送数据
如您所见,这一切都取决于服务器上的内容。
相关文章:
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- AJAX jquery json将数组发送到php
- JavaScript/jQuery JSON数组问题-值为未定义
- JQuery JSON 数据未显示
- 如何使用onLoad加载jQuery JSON.从Zipcode On Form获取城市和州
- TypeError: 使用 Jquery JSON 获取数据时无效的 'in' 操作数 obj
- JQUERY JSON返回未定义
- jQuery JSON flickr提要返回false不工作
- 遍历jQuery JSON对象数组
- Jquery json:未捕获类型错误:无法读取属性'xx'的未定义
- Jquery Json Api
- jquery json 返回添加两个数字的数据
- 使用jquery-json-ajax.php删除整行
- 意外的PHP/jQuery/JSON交互差异
- jquery JSON 数组作为本地存储项
- 如何使用jQuery/JSON限制字符数
- Javascript中应用的jQuery JSON数据库变量
- jquery json post不起作用
- 将输入字段文本放入变量中并将其用于 jquery JSON get 请求
- 第二个 Jquery json 在第一个 Jquery 完成之前被解雇