代码之家  ›  专栏  ›  技术社区  ›  mare

ASP.NET MVC隐藏字段未发布

  •  2
  • mare  · 技术社区  · 15 年前

    使用jquery autocomplete,我有一个隐藏的输入字段来存储ID,因为名称会在select时输入到autocomplete字段中。

    这样地:

            $("#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()进行序列化。它总是不见了。但据我所知,我的代码看起来很好。

    3 回复  |  直到 15 年前
        1
  •  6
  •   David Morton    15 年前

    为什么禁用了隐藏字段?不要。

        2
  •  3
  •   Fenton    15 年前

    这是因为字段被禁用。

    ...new { disabled = true}...
    
        3
  •  2
  •   Darin Dimitrov    15 年前

    将禁用的属性设置为输入元素时,其值为 不是 张贴:

    <%=Html.Hidden("ClientID", null, new { disabled = true}) %>