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>
オートコンプリートは[OK]と表示されますが、リストから名前を選択すると、上のテキストボックスに入力されるのはtvIDです(必要なtvIDであるため、データベースに有効です)。テキストボックスにagentNameを表示し、コントローラーに投稿するときに検証エラーが発生しないようにします。
オートコンプリートは正しく表示されます
ただし、agentNameではなくtvIDがボックスに表示されます
助けてくれてありがとう、
マーク