我正在设计一个表单,我需要输入两个人,这两个字段都支持jquery-ui的自动完成。自动完成操作相同。将相同的自动完成操作应用于多个表单域?
这里是我面临的问题:
在实际输入查询到表单中,这两个领域会发出正确的AJAX请求获取自动完成的候选人。但只有第一种形式才能正确输出结果列表。
我目前使用的选择是:
$(".person_input").autocomplete()
和改变选择没有帮助:
$("#person1,#person2").autocomplete()
我想知道是否有什么办法可以改变选择或一些自动完成行为,所以我可以正确地将自动完成应用到两个字段,而无需在我的代码中编写相同的函数两次。
谢谢你在前进,
表单域被定义为这样的:
<input type="text" value="" name="person1" class="person_input" id="person1">
<input type="text" value="" name="person2" class="person_input" id="person2">
和autcomplete代码,例如:
$(".person_input").autocomplete({
source: function(request, response) {
$.ajax({
url: "/ajax/get_person/",
data: {'q':request.term},
dataType: "json",
type: "POST",
success: function(data){
response(data);
},
});
},
focus: function(event, ui) {
$(this).val(ui.item.name);
return false;
},
select: function(event, ui) {
$(this).val(ui.item.name);
return false;
}
}).data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.name + "</a>")
.appendTo(ul);
};
之后添加分号,谢谢你的全面回应! – rickypai 2012-03-07 07:07:00