Jquery ui jQueryUI自动完成远程源定向错误
我有一个文本框的jQuery自动完成。初始化自动完成的代码为:Jquery ui jQueryUI自动完成远程源定向错误,jquery-ui,jquery-ui-autocomplete,Jquery Ui,Jquery Ui Autocomplete,我有一个文本框的jQuery自动完成。初始化自动完成的代码为: $("#SearchBox1").autocomplete({ autoFocus: false, source: "Home/AutoComplete", select: function (event, ui) { alert(ui.item.label); } 当URL不包含路径时,jQuery自动完成会起作用,但当URL包含类似于localhost/home/GoToPage/?pa
$("#SearchBox1").autocomplete({
autoFocus: false,
source: "Home/AutoComplete",
select: function (event, ui) {
alert(ui.item.label);
}
当URL不包含路径时,jQuery自动完成会起作用,但当URL包含类似于localhost/home/GoToPage/?page=2
的内容时,自动完成会尝试使用/home/GoToPage/home/Autocomplete
。此时,AutoComplete已完全中断,因为它使用的路径不正确
有什么好方法可以解决这个问题吗?一个可能的解决方案是基于MadRabbit的评论和Dan Wellman jQueryUI的自动完成教程
我真的不了解上下文。您是否“在运行中”更改源,或者您正在谈论两个具有两个不同源的自动完成实例?您可以尝试在“源”中使用函数而不是urlparameter@DidierGhys--来源不应该改变。服务器上只有一个自动完成源,jQueryUI自动完成应该始终指向同一个源。问题是,它使用的源确实更改为无效的URL。@MadRabbit--您能解释一下“使用函数”是什么意思吗。您是否建议“创建一个执行ajax调用的函数,然后从服务器返回结果?”@sveatch42,例如
source:function(request,callback){$.get('/url/with/parameters?term='+request.term,callback);}
$("#SearchBox1").autocomplete({
autoFocus: false,
source: function (request, callback) {
//pass request to server
$.getJSON("Home/AutoComplete?term=" + request.term, request, function (responseData) {
//create array for response objects
var suggestions = [];
//process response
$.each(responseData, function (i, val) {
suggestions.push(val);
});
//pass array to callback
callback(suggestions);
});
},
select: function (event, ui) {
$('#SearchBox1').val(ui.item.label);
}
});