jQuery Autocomplete使用extraParams传递其他GET变量 [英] jQuery Autocomplete using extraParams to pass additional GET variables
问题描述
我指的是JörnZaefferer的jQuery Autocomplete v1.1插件[来源:
I am referring specifically to the jQuery Autocomplete v1.1 plugin by Jörn Zaefferer [source: http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/] as there seems to be quite a few variations of this plugin.
我正在尝试在用户开始键入内容时将其他参数传递给服务器,因为我有多个字段要自动完成以提供建议.
I'm trying to pass additional parameters to the server when the user starts typing because I have multiple fields that I want autocomplete to provide suggestions for.
除了查询外,我还想将输入名称属性发送到服务器,但是我似乎无法在extraParams中使用$(this).attr('name').
In addition to the query, I want to send the input name attribute to the server but I can't seem to use $(this).attr('name') within the extraParams.
我的jQuery:
$('.ajax-auto input').autocomplete('search.php', {
extraParams: {
search_type: function(){
return $(this).attr('name');
}
}
})
这是我的HTML.
<form method="post" action="#" id="update-form" autocomplete="off">
<ol>
<li class="ajax-auto">
<label for="form-initials">Initials</label>
<input type="text" id="form-initials" name="initials" />
</li>
<li class="ajax-auto">
<label for="form-company">Company</label>
<input type="text" id="form-company" name="company" />
</li>
</ol>
</form>
有什么建议吗?
推荐答案
我正在使用自动完成功能,该功能现在已成为jquery ui的一部分. 传递'extraParams'字段不起作用,但是您可以将值附加在请求查询字符串中.
I am using the autocomplete function that is now part of jquery ui. Passing an 'extraParams' field does not work but you can just append the values in the request query string.
$(document).ready(function() {
src = 'http://domain.com/index.php';
// Load the cities straight from the server, passing the country as an extra param
$("#city_id").autocomplete({
source: function(request, response) {
$.ajax({
url: src,
dataType: "json",
data: {
term : request.term,
country_id : $("#country_id").val()
},
success: function(data) {
response(data);
}
});
},
min_length: 3,
delay: 300
});
});
这篇关于jQuery Autocomplete使用extraParams传递其他GET变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!