我有一个带几个选项的select标记,每个选项都指定了一个值。

<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();


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

编辑1

select标签采用表格形式,我一直在尝试像这样提交:

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


编辑2

此外,这是我尝试获取值的控制器方法。

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


并在控制器中:

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

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

10-13 06:26