2015-03-11 8 views
2

Привет, у меня есть раскрывающийся список html, который получает и отображает значения из моей базы данных отлично, теперь у меня есть метод javascript, чтобы получить выбранное значение из списка, я не знаю если этот скрипт работает, но каким образом я могу получить выбранное значение в моем коде controller.cs? Любой вход будет оценен с большой благодарностью.Отправка html dropdownlist выбранное значение из базы данных javascript в модель в mvc 2

`<h2>Create New Task</h2> 
      <% using (Html.BeginForm()) {%> 
      <%: Html.ValidationSummary(true) %> 
<fieldset> 
<legend>Create Task</legend> 

<label for="Task">Department</label> 
<div class="editor-field"> 
<%: Html.DropDownList("lsttasks", new SelectList((IEnumerable)ViewData["depies"], "Department"), new { onchange = "onSelectedIndexChanged(this)" })%> 
<br />` 

<h2>Create New Task</h2> 
 
<% using (Html.BeginForm()) {%> 
 
    <%: Html.ValidationSummary(true) %> 
 
    <fieldset> 
 
     <legend>Create Task</legend> 
 

 
     <label for="Task">Department</label> 
 
     <div class="editor-field"> 
 
     <%: Html.DropDownList("lsttasks", new SelectList((IEnumerable)ViewData[ "depies"], "Department"), new { onchange="onSelectedIndexChanged(this)" })%> 
 
      <br /> 
 
     </div> 
 

 

 
     <label for="Task">Competency</label> 
 
     <div class="editor-field"> 
 
     <%: Html.DropDownList("lsttasks", new SelectList((IEnumerable)ViewData[ "compies"], "Competency1"), new { onchange="onSelectedIndexChanged(this)" })%> 
 

 
      <%-- <%: Html.TextBoxFor(model=>Model.Competency) %> 
 
      <%: Html.ValidationMessage("Name", "*") %>--%> 
 
     </div> 
 

 
     <label for="Task">Task</label> 
 
     <div class="editor-field"> 
 
     <%: Html.TextBoxFor(model=>model.Task_Name) %> 
 
      <%: Html.ValidationMessage("Name", "*") %> 
 
     </div> 
 

 
     <label for="Task">Description</label> 
 
     <div class="editor-field"> 
 
     <%: Html.TextBoxFor(model=>model.Description) %> 
 
      <%: Html.ValidationMessage("Description", "*") %> 
 
     </div> 
 

 
     <input id="Button1" type="submit" value="CreateTask" /> 
 
    </fieldset> 
 
    <% } %> 
 
     <script type="text/javascript"> 
 
     function onSelectedIndexChanged(select) { 
 
      var text = select.options[select.selectedIndex].text; 
 
      document.getElementById('foo').innerHTML = text; 
 
     } 
 
     </script> 
 
     </asp:Content>

+0

Вы имеете в виду без формы отправить? Я предполагаю, что вызов AJAX срабатывает при изменении selectbox. –

+0

Ох я использовал кнопку отправки по умолчанию, которая поставляется с созданием вида sean

+0

http://stackoverflow.com/questions/28984916/mvc-dropdownlist- заселение-от-один-db-table-and-send-to-another-db-table/28985293 # 28985293 Я нашел ответ здесь !!!!! :-) – sean

ответ

1

В сценарии вы использовали вар текст = select.options [select.selectedIndex] .text; его лучше выбрать id соответствующего выпадающего текста, тогда ваша проблема будет решена. например: var text = $ ("# id_of_the_dropdown"). Val(); , чтобы выбрать идентификатор, вы можете передать идентификатор через скрытое поле.

+0

Спасибо за ответ @shajeer. Я изменил свой сценарий на то, что вы предложили, но им все еще не удается отправить выбранное значение в мой model.department, а другой - в model.competency. с нормальным html: textbox он будет ниже <%: Html.TextBoxFor (model => Model.Competency)%> <%: Html.ValidationMessage ("Name", "*")%>, но теперь, как это сделать отправить выбранный элемент списка в model.competency – sean

+0

написать еще одну функцию для сохранения например: function OnSave (e) {} –

+0

Спасибо, я поработаю над этим, в тот момент, когда я нашел что-то на кого-то вопрос elses, который работает напрямую: - <%: Html.DropDownListFor (model => model.Department, новый SelectList ((IEnumerable) ViewData ["depies"], "Department"))%> – sean

 Смежные вопросы

  • Нет связанных вопросов^_^