【问题标题】:Geting SelectList to MVC view using AJAX/jQuery使用 AJAX/jQuery 将 SelectList 获取到 MVC 视图
【发布时间】:2010-03-12 00:51:57
【问题描述】:

我有一个 C# MVC 应用程序,它根据所选日期填充下拉列表。选择日期后,我将通过 AJAX/jQuery 将其发送到操作。该操作获取该日期要返回的项目列表。

这就是我的问题所在。我之前已经完成了它,我从动作中渲染了一个局部视图,并将 SelectList 作为模型传递给它。但是,我真的只想在原始视图中内联,所以我希望有某种方法可以返回 SelectList 并从那里做一些神奇的 Javascript/JQuery 将其放入下拉列表中。

以前有人做过吗?如果是这样,调用load()返回SelectList后,我在客户端怎么办?

我以前做过类似的事情,当我只是返回一个字符串或其他值以呈现为纯文本时:

$("#returnTripRow").load("/Trip.aspx/GetTripsForGivenDate?date=" + escape(selection));

但我不确定如何截取数据并将其转换为 am Html.DropDown() 调用或等效调用。

有什么想法吗?

谢谢,

克里斯

【问题讨论】:

    标签: javascript jquery asp.net-mvc ajax drop-down-menu


    【解决方案1】:

    假设您有一个控制器操作将为下拉菜单提供数据:

    public ActionResult Cars()
    {
        return Json(new[] {
            new { id = "bmw", name = "BMW" },
            new { id = "mer", name = "Mercedes" },
            new { id = "aud", name = "Audi" }
        }, JsonRequestBehavior.AllowGet);
    }
    

    在你看来:

    $.getJSON('/home/cars', { }, function(cars) {
        var list = $('select#cars');
        list.find('option').remove();
        $(cars).each(function(index, car) {
            list.append('<option value="' + car.id + '">' + car.name + '</option>');
        });
    });
    

    【讨论】:

    • 漂亮,做到了!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 2011-04-08
    • 2023-01-19
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多