Chr*_*ris 6 javascript ajax asp.net-mvc jquery drop-down-menu
我有一个C#MVC应用程序,它根据所选日期填充下拉列表.选择日期后,我将通过AJAX/jQuery将其发送给一个动作.该操作获取该日期要返回的项目列表.
这是我的问题所在.我之前已经完成了它,我从动作渲染局部视图并将SelectList作为模型传递给它.但是,我真的只想在原始视图中内联,所以我希望有一些方法可以返回SelectList,并从那里做一些神奇的Javascript/JQuery将它放入下拉列表中.
有没有人曾经这样做过?如果是这样,在调用load()返回SelectList后,我在客户端结束了什么?
我之前做过类似的事情,当我刚刚返回一个字符串或其他值来呈现为直文时:
$("#returnTripRow").load("/Trip.aspx/GetTripsForGivenDate?date=" + escape(selection));
Run Code Online (Sandbox Code Playgroud)
但我不知道如何拦截数据并将其转换为Html.DropDown()调用或等效.
有任何想法吗?
谢谢,
克里斯
Dar*_*rov 19
假设您有一个控制器操作,该操作将为下拉列表提供数据:
public ActionResult Cars()
{
return Json(new[] {
new { id = "bmw", name = "BMW" },
new { id = "mer", name = "Mercedes" },
new { id = "aud", name = "Audi" }
}, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
在你看来:
$.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>');
});
});
Run Code Online (Sandbox Code Playgroud)