添加到MVC3的下拉列表中

时间:2011-06-10 02:18:10

标签: jquery ajax model-view-controller asp.net-mvc-3

问题:在MVC3下拉菜单中添加更多课程的优雅程度

我正在使用一个单独的屏幕,但理想情况下希望将它全部放在同一个屏幕上,可能使用ajax和jquery。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

我最后只为我的'孩子'项目添加了另一个提交按钮,并在第二个答案中调用它:

How do you handle multiple submit buttons in ASP.NET MVC Framework?

答案 1 :(得分:0)

我发现更好的解决方案是使用jquery.ui自动完成功能。然后,您可以轻松添加课程。我在类似的场景中使用它之前非常成功。您还可以获得可以为大型列表调用ajax的优势。

以下是一些示例jquery代码,它根据用户在文本框中键入的内容从服务器获取列表(routeList是将显示课程列表的框,routeId是一个隐藏字段,其中包含所选的id路线):

$("#routeList").autocomplete({
    source: function (request, response) {
        $("#ajax_loader").show();  //Gets the whirly graphic going
        $("#routeId").val("0");
        var postData = { term: request.term };

        var jqxhr = $.post("/Ajax/RouteAutoComplete", $.postify(postData), function (data) {
            $("#ajax_loader").hide();
            response(data);
        });
    }
    ,
    minLength: 1,
    select: function (event, ui) {
        $("#routeId").val(ui.item ? ui.item.id : "0");
    }
});

当您回发时,如果routeId = 0,那么您可以根据routeList中的文本添加新课程