2010-03-01 2 views
2

С автозаполнением jquery У меня есть скрытое поле ввода для хранения идентификатора, потому что имя вводится в поле автозаполнения при выборе.ASP.NET MVC Скрытое поле не POSTing

Как это:

 $("#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(). Это всегда отсутствует. Но насколько я могу судить, мой код выглядит хорошо.

ответ

6

Почему вы отключили скрытое поле? Не.

3

Это потому, что поле отключено.

...new { disabled = true}... 
2

При установке отключенного атрибута к входному элементу это значение НЕ писал:

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

На самом деле я установить это инвалид, потому что у меня есть некоторые поля ввода текста, которые отключены и их значения действительно публикуются. Поэтому я следовал тому же принципу. – mare