级联下拉Javascript错误(对象不支持属性)

级联下拉Javascript错误(对象不支持属性),javascript,jquery,asp.net-mvc,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,因此,我尝试使用Jquery在MVC4中实现级联下拉列表。我已经通过无数的例子,还没有找到一个有效的解决方案。我正在尝试上列出的解决方案 但我一直收到错误:Microsoft JScript运行时错误:对象不支持属性或方法“cascade” 这是我的密码 Javascript函数: (function ($) { $.fn.cascade = function (options) { var defaults = {}; var opts = $.e

因此,我尝试使用Jquery在MVC4中实现级联下拉列表。我已经通过无数的例子,还没有找到一个有效的解决方案。我正在尝试上列出的解决方案

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

这是我的密码

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);
(函数($){
$.fn.cascade=函数(选项){
var默认值={};
var opts=$.extend(默认值、选项);
返回此。每个(函数(){
$(此).change(函数(){
var selectedValue=$(this.val();
var params={};
params[opts.paramName]=selectedValue;
$.getJSON(opts.url、参数、函数(项){
opts.childSelect.empty();
$。每个(项目、功能(索引、项目){
opts.childSelect.append(
$('')
.attr('value',item.Id)
.text(项目名称)
);
});
});
});
});
};
})(jQuery);
然后,您只需将其链接到视图上,如:

<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>

$(函数(){
$('#ClientId')。级联({
url:“@url.Action”(“导入列表”),
paramName:'clientProjectName',
childSelect:$(“#ImportId”)
});
});
客户:
@DropDownListFor(x=>x.ClientId,新的SelectList(Model.ClientProjects,“ClientProjectName”,“ClientProjectName”))
进口:
@Html.DropDownListFor(x=>x.ImportId,Enumerable.Empty())

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

级联函数是否在外部javascript文件中?如果是这样,您是否确保将其包含在视图或布局中?查看页面的源代码,并确保所有脚本都在那里,并且以正确的顺序包含在页面上。