我设置了两个jQuery UI Autocomplete小部件。使用第一个自动完成功能,用户将输入客户端的名称 - 自动完成功能将缩小范围,直到选择了正确的客户端。然后我有一个回调,它接收返回的客户端的ID并将其放入一个隐藏的输入字段。
接下来,是第二个自动填充字段。 搜索时,需要向服务器发送两个变量 - 用户的搜索字符串(term
),以及之前搜索过的客户端的用户ID。
我在处理服务器端方面没有问题,但我正在努力的是如何将2个变量传递给Ajax调用,而不仅仅是term
。在我的PHP后端,我还需要查询用户ID,只返回属于该用户的属性。
我该怎么做?
谢谢!
编辑:感谢@JohnP,这就是我的结果 - 似乎对我来说很好。在此发布此信息,以供以后任何人使用:
source: function (request, response) {
var request_data = {
term: request.term,
client_id: $('input#client_id_string').val()
};
var url = 'http://mysite.com/search/ajax_search';
$.getJSON(url, request_data, function (data, status, xhr) {
response(data);
});
},
答案 0 :(得分:1)
如果它是静态方法,您可以覆盖source
方法。
//code
source: function (request, response) {
var term = request.term;
//caching if yo uwant
var myCustomVar = 42;
$.getJSON(url + term + '/' + myCustomVar , request, function (data, status, xhr) {
response(data);
});
},
//code
如果需要,您可以将其作为URL的一部分,或者只是将其与请求一起传递。