使用 jQueryUI 自动完成 - 我返回“代理”列表及其 ID,我的控制器返回正确的 JSON,例如:
[{"tvid":12,"agentName":"Smith Gary"},{"tvid":43,"agentName":"Walls Arthur"},{"tvid":623,"agentName":"Mena Ati"}]
我的 JavaScript 是:
$("#tvID").autocomplete({
source: function (request, response) {
$.ajax({
url: "/AgentList/AutoCompleteAnalyst",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { value: item.tvid, label: item.agentName };
}))
}
})
},
messages: {
noResults: "", results: ""
}
});
而我的观点是:
<div class="editor-label">
@Html.LabelFor(model => model.tvID)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.tvID)
@Html.ValidationMessageFor(model => model.tvID)
</div>
自动完成显示正常,但是当我从列表中选择一个名称时,它是填充上面文本框的 tvID(这对数据库有效,因为它是我需要的 tvID) - 但是,我有没有在文本框中显示 agentName,并使其在发布到控制器时不会导致验证错误:
自动完成正确显示
但在框中显示 tvID,而不是 agentName
谢谢你的帮助,
标记