使用 jquery 自动完成,我有一个隐藏的输入字段来存储 ID,因为名称被输入到选择的自动完成字段中。
像这样:
$("#Clients").result(function (event, data, formatted) {
if (data) {
$("#ClientID").val(data["client_ClientNumber"]);
if (data["ClientName"] && data["client_address1"] && data["client_postcode"] && data["client_postname"]) {
$("#ClientDetails").html(
"<li class=\"clientNumber\">Client ID: " + data["client_ClientNumber"] + "</li>" +
"<li>" + data["ClientName"] + "</li>" +
"<li>" + data["client_address1"] + "</li>" +
"<li>" + data["client_postcode"] + data["client_postname"] + "</li>"
);
}
}
这是我的 HTML:
<div id="ClientSelectionPlaceholder">
<h3>Client</h3>
<%=Html.TextBox("Clients", null, new { @class = "clientsDropDown" })%>
<%=Html.Hidden("ClientID", null, new { disabled = true}) %>
</div>
问题是这个隐藏的 ClientID 字段没有回发,也没有使用 jquery.serialize() 进行序列化。它总是失踪。但据我所知,我的代码看起来不错。