使用jQueryUI的自動完成 - 我回來「代理人」與他們的ID一起,我的控制器返回正確的JSON如列表:jQueryUI的自動完成功能,顯示值,而不是標籤在MVC4 C#
[{"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>
自動完成顯示正常,但是當我選擇一個越南e從列表中,填充上面的文本框的tvID(對數據庫有效,因爲它是我需要的tvID) - 但是,無論如何,我還是會在文本框中顯示agentName,在框中
自動完成顯示正確
但顯示TVID,而不是AGENTNAME
:它發佈時,控制器不會導致驗證錯誤
感謝您的幫助,
馬克
不清楚...你的意思是說,當你從自動完成列表中選擇一些標籤時它顯示tvid嗎?比方說,如果你選擇史密斯馬克是否顯示一些tvid而不是史密斯馬克本身? – gaurav 2013-02-28 15:27:00
Hi @gaurav - 是的,當我選擇「Smith Marc」時 - 它顯示了他的tvID 616,而不是他的名字「Smith Marc」 - 因此美學上它是錯誤的,但它是616模型期待被傳回。謝謝你,馬克 – Mark 2013-02-28 15:28:42
所以,如果一切都很好,那麼你需要什麼? – gaurav 2013-02-28 15:32:00