我有一个 C# MVC 应用程序,它根据所选日期填充下拉列表。选择日期后,我将通过 AJAX/jQuery 将其发送到操作。该操作获取该日期要返回的项目列表。
这就是我的问题所在。我之前已经完成了,我从 Action 中渲染了一个局部 View 并将其作为模型传递给 SelectList。但是,我真的只是想在原始 View 中内联执行它,所以我希望有一些方法可以返回 SelectList 并从那里执行一些神奇的 Javascript/JQuery 将其放入下拉列表中。
以前有人做过吗?如果是这样,我在调用 load() 返回 SelectList 后在客户端做什么?
我以前做过类似的事情,当时我只是返回一个字符串或其他值以呈现为纯文本:
$("#returnTripRow").load("/Trip.aspx/GetTripsForGivenDate?date=" + escape(selection));
但我不确定如何拦截数据并将其变形为 Html.DropDown() 调用或等效调用。
有什么想法吗?
谢谢,
克里斯
最佳答案
假设您有一个将为下拉列表提供数据的 Controller 操作:
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>');
});
});
关于javascript - 使用 AJAX/jQuery 将 SelectList 获取到 MVC View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2429780/