如何在jquery中检索下拉列表的元素,并将其与ajax一起发送到ASP.Net中的MVC控制器?

艾门·卡瑞姆(Aymen Kareem)

我有一个选择项,如下所示:

<select id="id_category">
    <option> </option>
</select>

在运行时,有一个树状视图用于填充选择菜单,如下所示:

<script>
$(document).ready(function () {
    $('#data').jstree({
        "plugins": ["checkbox"]
    });

    $("#data").on("changed.jstree", function (e, data) {
        if (data.selected.length) {
            $("#id_category").empty(); 
            $(data.selected).each(function (idx) {
                var node = data.instance.get_node(data.selected[idx]);
                var s = document.getElementById('id_category');
                s.options[s.options.length] = new Option(node.text, '1');
            });
        }
        else
            $("#id_category").empty();
    });
});
</script>

树的html现在已经不重要了,因为它可以很好地工作。

现在,我想当用户单击带有HTML的按钮时,如下所示:

<input id="btn3" type="button" value="Test 3" />

将运行ajax将select中的所有项目发送到MVC中的控制器,如下所示:

$("#btn3").click(function () {
    $.ajax({
        url: "/Products/Test03",
        datatype: "text",
        data: $.map($('#id_category')[0].options, function( elem ) { return (elem.value || elem.text); }),
        type: "POST",
        success: function (data) {
            $('#testarea').html(data);
        },
        error: function () {
            $("#testarea").html("ERROR");
        }
    });
});

和控制器:

[HttpPost]
public string Test03(Object str1)
{
    // call with two parameters and return them back
    this.myRetrievedData = str1; 
    return str1.ToString();
}

以上不适用于我,当我单击Test3按钮时,什么都没有发生。我不确定如何将检索到的项目传递给控制器​​中的函数。谁能告诉我该怎么做?

拉杰谢卡·雷迪(Rajshekar Reddy)

以下逻辑必须为您工作。 Many thanks to Mr.Stephen Muecke for assistance.

     $("#btn3").click(function () {

       var optionsData= $.map($('#id_category')[0].options, function(elem) {
                  return (elem.value || elem.text);
               }); // create a variable to hold all the options array.

        $.ajax({
            url: "/Products/Test03",
            datatype: "text",
            data: JSON.stringify(optionsData), //pass this variable to post request as 'options'
            contentType: "application/json; charset=utf-8",
            type: "POST",
            success: function (data) {
                $('#testarea').html(data);
            },
            error: function () {
                $("#testarea").html("ERROR");
            }
        });
    });

然后,您可以按照以下方式设置控制器。

[HttpPost]
public string Test03(IEnumerable<string> options ) // change here to this
{
    //your logic goes here        
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用MVC,Jquery和Ajax将下拉列表中的选定值发送到控制器

来自分类Dev

处理ASP.NET MVC控制器中的异常

来自分类Dev

在ASP.NET MVC中获取控制器名称

来自分类Dev

从ASP.NET MVC控制器中删除功能

来自分类Dev

ASP.NET MVC控制器语法中的Linq

来自分类Dev

在 asp .net mvc 中创建 Api 控制器

来自分类Dev

ASP.NET MVC 在控制器中实现分析

来自分类Dev

ASP.NET MVC 控制器中的持久数据

来自分类Dev

如何在ASP.NET MVC中重复表单控件并将其作为列表传递给控制器

来自分类Dev

从视图调用控制器并将值从视图传递到 asp.net mvc 中的控制器

来自分类Dev

如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

来自分类Dev

如何在ASP.NET MVC中从控制器传递列表以进行查看?

来自分类Dev

当在 asp.net mvc 中首先无法识别控制器时,如何路由到控制器?

来自分类Dev

无法使用js将文件值发送到asp.net mvc中的控制器

来自分类Dev

从MVC 4中的数组获取变量并通过jQuery ajax发送到控制器

来自分类Dev

如何在asp.net mvc中的URL中更改控制器名称

来自分类Dev

如何在ASP.NET MVC中的控制器中调用模型方法

来自分类Dev

路由如何与 asp.net mvc 中的默认控制器和操作一起使用

来自分类Dev

Asp.net MVC在其他控制器中采用了控制器的Disposable属性

来自分类Dev

将列表<T>从控制器返回到ASP.NET MVC4中的Ajax

来自分类Dev

如何将值列表发送到MVC3中的控制器

来自分类Dev

ASP.NET MVC:如何绕过MVC应用程序中的控制器?

来自分类Dev

在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

来自分类Dev

在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

来自分类Dev

如何将列表从控制器传递到ASP.NET MVC中的javascript函数?

来自分类Dev

MVC 6中的POCO控制器

来自分类Dev

MVC控制器中的本地参数

来自分类Dev

在MVC控制器动作中暂停

来自分类Dev

WebAPI控制器中的MVC路由

Related 相关文章

  1. 1

    如何使用MVC,Jquery和Ajax将下拉列表中的选定值发送到控制器

  2. 2

    处理ASP.NET MVC控制器中的异常

  3. 3

    在ASP.NET MVC中获取控制器名称

  4. 4

    从ASP.NET MVC控制器中删除功能

  5. 5

    ASP.NET MVC控制器语法中的Linq

  6. 6

    在 asp .net mvc 中创建 Api 控制器

  7. 7

    ASP.NET MVC 在控制器中实现分析

  8. 8

    ASP.NET MVC 控制器中的持久数据

  9. 9

    如何在ASP.NET MVC中重复表单控件并将其作为列表传递给控制器

  10. 10

    从视图调用控制器并将值从视图传递到 asp.net mvc 中的控制器

  11. 11

    如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

  12. 12

    如何在ASP.NET MVC中从控制器传递列表以进行查看?

  13. 13

    当在 asp.net mvc 中首先无法识别控制器时,如何路由到控制器?

  14. 14

    无法使用js将文件值发送到asp.net mvc中的控制器

  15. 15

    从MVC 4中的数组获取变量并通过jQuery ajax发送到控制器

  16. 16

    如何在asp.net mvc中的URL中更改控制器名称

  17. 17

    如何在ASP.NET MVC中的控制器中调用模型方法

  18. 18

    路由如何与 asp.net mvc 中的默认控制器和操作一起使用

  19. 19

    Asp.net MVC在其他控制器中采用了控制器的Disposable属性

  20. 20

    将列表<T>从控制器返回到ASP.NET MVC4中的Ajax

  21. 21

    如何将值列表发送到MVC3中的控制器

  22. 22

    ASP.NET MVC:如何绕过MVC应用程序中的控制器?

  23. 23

    在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

  24. 24

    在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

  25. 25

    如何将列表从控制器传递到ASP.NET MVC中的javascript函数?

  26. 26

    MVC 6中的POCO控制器

  27. 27

    MVC控制器中的本地参数

  28. 28

    在MVC控制器动作中暂停

  29. 29

    WebAPI控制器中的MVC路由

热门标签

归档