所以我正在尝试使用 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 非常陌生,因此非常感谢任何完整的解释。