【问题标题】:sending html dropdownlist selected value from javascript to model database in mvc 2将 html 下拉列表中的选定值从 javascript 发送到 mvc 2 中的模型数据库
【发布时间】:2015-03-11 17:25:16
【问题描述】:

嗨,我有一个 html 下拉列表,可以完美地从我的数据库中获取和显示值,现在我有一个 javascript 方法可以从列表中获取选定的值,我不知道这个脚本是否有效,但无论哪种方式我如何得到将所选值放入我的 controller.cs 代码中?任何意见将不胜感激。

`<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>

【问题讨论】:

  • 你的意思是没有表单提交?我猜是一个 AJAX 调用,它是在选择框更改时触发的。
  • 哦,我使用了创建视图自带的默认提交按钮
  • stackoverflow.com/questions/28984916/…我在这里找到了答案!!!! :-)

标签: javascript c# html asp.net asp.net-mvc-2


【解决方案1】:

在您使用的脚本中 var text = select.options[select.selectedIndex].text; 最好选择相应下拉文本的ID,然后您的问题将得到解决。 例如:var text = $("#id_of_the_dropdown").Val(); 要选择 id,您可以通过隐藏字段传递 id。

【讨论】:

  • 感谢@shajeer 的回复,我已将脚本更改为您建议的内容,但我仍然无法将所选值发送到我的 model.department 并将另一个值发送到 model.competency。使用普通的 html:textbox 如下 Model.Competency) %> 但现在我该如何发送选定的列表项到 model.competency
  • 写另一个函数来保存 eg:function OnSave(e) {}
  • 谢谢,我会努力解决这个问题,目前我在别人的问题上发现了一些可以直接工作的东西:- model.Department,new SelectList((IEnumerable )ViewData["depies"], "部门")) %>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
相关资源
最近更新 更多