我有一个大型 HTML 表单,其中包含许多需要帐户自动完成的字段。我用 AccountLookup 类标记这些字段,而 jQuery 为自动完成完成了繁琐的工作:
$(".AccountLookup").autocomplete({
source: function (request, response) {
$.ajax({
url: "Lookup.asmx/GetAccounts",
data: "{ 'Search': '" + request.term + "' }",
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: item.Value
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 3
});
现在,当用户从自动完成中选择某些内容时,我需要它在标记输入字段之前填充隐藏字段;可能使用类似的东西:
$(this).prev().val(item.Key);
如何合并此功能?另外,如何强制用户从自动完成中进行选择?(所有值都是预定义的,用户不能添加新值。)
编辑: 据我从检查 DOM 了解,选择选项目前正在填写隐藏的表单字段。
select: function (event, ui) {
$(this).prev().val(ui.item.key);
}