我是jquery的新手。我已经阅读并在自动填充方法中尝试了许多不同的事件来做我想要的但没有成功。
无论如何,我有一个自动完成功能,如下所示
$(document).ready(function () {
$("#SearchContactWorker")
.each(function () {
var urlloc = "/Worker/FindWorkers";
$(this).autocomplete({
source: function (request, response) {
$.ajax({
url: urlloc, type: "POST", dataType: "json",
data: { searchString: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item.name, value: item.name, id: item.id }
}))
}
})
},
select: function (event, ui) {
$("[id$='ContactID']").val(ui.item.id);
}
});
});
});
当选择某个项目时,我会将ID保存在名为ContactID的隐藏输入中 现在,如果用户输入一些不返回任何结果的文本,我想将该文本保存为另一个名为ContactFullName的隐藏输入类型。我该怎么办?
先谢谢
答案 0 :(得分:0)
我认为您正在寻找change
事件:
$(this).autocomplete({
source: function (request, response) {
$.ajax({
url: urlloc, type: "POST", dataType: "json",
data: { searchString: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item.name, value: item.name, id: item.id }
}))
}
})
},
change: function (event, ui) {
if (ui.item) {
$("[id$='ContactID']").val(ui.item.id);
} else {
$("#ContactFullName").val(this.value);
}
}
});
ui.item
将为null
。change
事件。