0

所以我正在尝试使用 Jquery 在 MVC4 中实现级联下拉菜单。我经历了无数的例子,但还没有找到有效的解决方案。我正在尝试MVC 3 Razor 视图中级联下拉列表中列出的解决方案

但我不断收到错误:Microsoft JScript 运行时错误:对象不支持属性或方法“级联”

这是我的代码。

Javascript函数:

   (function ($) {
    $.fn.cascade = function (options) {
        var defaults = {};
        var opts = $.extend(defaults, options);

        return this.each(function () {
            $(this).change(function () {
                var selectedValue = $(this).val();
                var params = {};
                params[opts.paramName] = selectedValue;
                $.getJSON(opts.url, params, function (items) {
                    opts.childSelect.empty();
                    $.each(items, function (index, item) {
                        opts.childSelect.append(
                            $('<option/>')
                                .attr('value', item.Id)
                                .text(item.Name)
                        );
                    });
                });
            });
        });
    };
})(jQuery);

然后你应该简单地将它链接到 View 上,如:

<script type="text/javascript">
    $(function () {
        $('#ClientId').cascade({
            url: '@Url.Action("ImportList")',
        paramName: 'clientProjectName',
        childSelect: $('#ImportId')
        });
    });
</script>
<div>
    Client:
    @Html.DropDownListFor(x => x.ClientId, new SelectList(Model.ClientProjects, "ClientProjectName", "ClientProjectName"))
</div>

<div>
    Imports: 
    @Html.DropDownListFor(x => x.ImportId, Enumerable.Empty<SelectListItem>())
</div>

我只是想要一种快速、简单的方法来让级联下拉菜单工作,但我尝试过的一切似乎都不起作用。我对 MVC4 和 javascript 非常陌生,因此非常感谢任何完整的解释。

4

0 回答 0