javascript - 将下拉列表值从 View 传递到 Controller

标签 javascript c# jquery html asp.net-mvc

我有一个带有多个选项的选择标签,每个选项都指定了一个值。

<select id="dropdown">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select> 

此外,我还有以下 JQuery 脚本。

$(function() {
    $(#dropdown).change(function() {
        var option = $(this).find("option:selected").text();
        var optionValue = $(this).val(); 

我已经使用“警报”检查了这两个值,它们是正确的。现在我想将这些值从 View 传递到 Controller 。我将选择标记放在表单中,并尝试对两个值使用“.submit()”,但这会导致脚本崩溃。我不确定我是否正确使用了“.submit()”,因为我是 JavaScript 和 Jquery 的初学者。简而言之,如何将选项标签值获取到 Controller 的方法中?

编辑 1

选择标签是在一个表单中,我一直在尝试像这样提交:

$(this).val().submit()

编辑2

此外,这是我试图获取值的 Controller 方法。

[HttpPost]
public ActionResult Index(string dropdown)
{
    string value = dropdown; 

    //--- conditional logic ---

    return View()
}

最佳答案

使用submit()您的下拉菜单必须位于 <form>

<form method="POST" action="yourControllerUrl/MyAction">
    <select id="dropdown" name="dropdownName">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
        <option value="4">Option 4</option>
     </select> 
</form>

在 Controller 中:

public ActionResult MyAction(string dropdownName)
{        
      // use your dropdown value here 
}

关于javascript - 将下拉列表值从 View 传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37881474/

相关文章:

javascript - 如何使用 jquery/javascript 检查当前时间是否在工作日的特定范围内?

javascript - 如何在 div 框中附加单击的 li 文本?

c# - 如何根据 asp.net 中的分辨率以编程方式创建填充客户端浏览器的按钮列表

javascript - 使用函数式编程 [filter, map, some, reduce etc] 在 Typescript 中过滤数组

c# - 具有主体(setter 或 getter)之一的属性

c# - 有没有办法在 asp.net core 3.1 Rest-API 中使用 Identity Server 功能

jQuery:加载和使用大型 XML 文件的最快方式

javascript - 如何在 JavaScript 中替换/\with\

javascript - 如何使用 Bootstrap 在悬停时显示 Action 列表?

c# - 在 C# .NET 中将两个(或更多)列表合并为一个