2014-01-15 2 views
0

Я вытаскиваю некоторые данные из базы данных, поэтому, когда вы выбираете имя человека из выпадающего списка, текстовое поле «Вход» в форме должно автоматически заполняться его данными.JQuery Append & @ Html.EditorFor

В настоящий момент он остается пустым.

Уверен, что есть некоторые проблемы при попытке добавить данные javascript в @HtmlEditorFor.

Можете ли вы посмотреть, если я делаю что-то неправильно?

Благодарим вас за ваше время заранее.

Вид:

@using (Html.BeginForm()) { 
@Html.AntiForgeryToken() 
@Html.ValidationSummary(true) 

<fieldset> 
    <legend>User</legend><div class="editor-label"> 
      @Html.LabelFor(model => model.UserLogin) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.UserLogin, new {id ="LoginId" }) 
      @Html.ValidationMessageFor(model => model.UserLogin) 
     </div> 
} 
<script type="text/javascript"> 

    $('#UserID').on('change', function() { 
      $.ajax({ 
       type: 'POST', 
       url: '@Url.Action("GetUserForm")', 
       data: { ID: $('#UserID').val() }, 
      success: function (results) { 
       var options = $('#LoginId'); 
       options.empty();   
       $.each(results, function() { 
        options.append($().val(this.ID).text(this.Value)); 
       }); 
      } 
     }); 
    }); 
</script> 

Контроллер:

[HttpPost] 
     public JsonResult GetUserForm(string ID) 
     { 
      //pseudo code 
      var data = from s in StaffDB.StaffData 
         where s.Forename1 + ' ' + s.Surname == ID 
         select new { Value = s.Login, ID = s.ID}; 


      return Json(data); 
     } 
+0

HWO делает шаблон редактор выглядит? – Shyju

+0

его форма html – Wizeman1986

+0

Что такое поведение по умолчанию '$()'? Если 'options' является выпадающим списком, используйте' $ ('

ответ

2

Использование

@Html.TextBoxFor(model => model.UserLogin, new {id ="LoginId" }) 

в

@Html.EditorFor(model => model.SomeProperty,ViewData) 

и

@Html.TextBoxFor(model => model.SomeProperty,htmlAttributes Object) 

Или в селекторе JQuery пройти

$('#UserLogin') 

для выбора редактора, как он автоматически генерирует идентификатор модели имя свойства