【发布时间】:2020-09-05 11:34:22
【问题描述】:
我正在使用this plugin 在 ASP.NET MVC Web 应用程序中使用 KnockoutJs 实现带有复选框的多选下拉菜单。我已按照this jsfiddle 中的代码进行操作,但下拉菜单不起作用,而小提琴工作正常。
HTML 代码:
<select id="status-select" multiple="multiple" class="form-control"
data-bind="options: $root.statuses, selectedOptions: $root.selectedStatuses, multiselect: { includeSelectAllOption: true }">
</select>
...
...
@section require {
require(['app/viewModel']);
}
<script type="text/javascript">
$(document).ready(function () {
$("#status-select").multiselect();
});
</script>
viewModel.ts:
export class ViewModel {
statusOptions = [
"One",
"Two",
"Three"
];
statuses = ko.observableArray(this.statusOptions);
selectedStatuses = ko.observableArray([]);
}
ko.applyBindings(new ViewModel());
以下是我在项目中包含脚本的顺序:
<script src="~/Scripts/jquery-2.2.0.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<link href="~/css/bootstrap-multiselect.css" rel="stylesheet" />
<script src="~/Scripts/bootstrap-multiselect.js"></script>
以下是我得到的输出:
请注意,select 标签内的选项已正确绑定,但由于ul 标签为空,下拉菜单中没有显示任何内容。我在这里做错了什么?
【问题讨论】:
-
你成功了吗?如果我能进一步帮助您,请告诉我。
-
@HeyJude 我无法让它工作。所以我不得不放弃插件并使用引导下拉菜单从头开始实现一个。感谢您的帮助。
标签: jquery asp.net-mvc twitter-bootstrap knockout.js