2

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() でシリアル化されないことです。それは常に欠けています。しかし、私が知る限り、私のコードは問題なく見えます。

4

3 に答える 3

6

非表示フィールドを無効にしたのはなぜですか? しないでください。

于 2010-03-01T11:52:19.447 に答える
3

フィールドが無効になっているためです。

...new { disabled = true}...
于 2010-03-01T11:53:37.390 に答える
2

disabled 属性を入力要素に設定すると、その値はポストされません:

<%=Html.Hidden("ClientID", null, new { disabled = true}) %>
于 2010-03-01T11:54:14.520 に答える