jQuery自动完成数据源更改
|
我已经设置了一个jQuery自动完成功能,它会根据文本框上的输入来更改数据源。
jQuery上的数据源更改后,直到按下向上或向下箭头按钮后,它才会触发。
我已经使用firebug来检查数据源,但找不到任何错误。
有人可以告诉我如何将向上或向下箭头键发送到控件或以其他任何方式解决此问题吗?
非常感谢!
编辑:我已将其替换为JSON,如下所示,但似乎请求来自错误警报框
jQuery(函数(){
jQuery(\“ input#autocomplete \”)。autocomplete({
contentType:\'application / json; charset = utf-8 \',
dataType:\'json \',
mustMatch:假,
限制:10,
minChars:2
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
}
,
source: function (request, response) {
jQuery.ajax({
url: \"http://localhost/integration/webservices/PostcodeJSON.asmx/GetPostCodeListJSONfromSuburb\",
data: {},
dataType: \"json\",
type: \"POST\",
contentType: \"application/json; charset=utf-8\",
dataFilter: function (data) { return data; },
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus,
errorThrown){
alert(textStatus);
}
});
}
});
});
有这个HTML输入框。
我在这里做错了什么?我已确认该Web服务正常运行。
edit2:我进行了如下更改:
jQuery(函数(){
jQuery(\“ input#autocomplete \”)。autocomplete({
minChars: 2,
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
}
,
source: function (request, response) {
jQuery.ajax({
url: \"http://localhost/integration/webservices/PostcodeJSON.asmx/GetPostCodeListJSONfromSuburb\",
data: \'{ Suburb: \"\' +
jQuery(\“#autocomplete \”)。val()+ \'\“} \',
dataType:\“ json \”,
输入:\“ POST \”,
contentType:\“ application / json; charset = utf-8 \”,
dataFilter:函数(数据){返回data.d; },
成功:功能(数据){
警报(data.d);
},
错误:函数(XMLHttpRequest,textStatus,
errorThrown){
alert(textStatus);
}
});
}
});
});
因此警报运行正常。但是,jQuery不显示匹配列表。我该怎么做呢?
编辑2:
我设法解决了webservice的问题。如何设置响应,以便自动完成功能可以相应地显示列表?目前,列表中的每个项目都向我显示了项目的完整列表。
即)如果我输入\'ab \'并且如果有3项匹配,那么它将在3条不同的线上向我显示3次相同的结果。
我有类似以下的jquery设置:
jQuery(函数(){
jQuery(\“ input#autocomplete \”)。autocomplete({
minChars: 2,
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
}
,
source: function (request, response) {
jQuery.ajax({
url: \"http://localhost/integration/webservices/PostcodeJSON.asmx/GetPostCodeListJSONfromSuburb\",
data: \'{ Suburb: \"\' + jQuery(\"#autocomplete\").val() + \'\" }\',
dataType: \"json\",
type: \"POST\",
contentType: \"application/json; charset=utf-8\",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: data.d
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
}
});
任何帮助将不胜感激,非常感谢!
没有找到相关结果
已邀请:
1 个回复
冕偷淮款