我是Knockout.js的新手。任何人都可以让我知道如何使用Knockout.js填充b下拉列表。 我有两个下拉菜单:员工和课程。
<select id="Employee">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
</select>
<select id="Course">
<option value="Course1" selected="selected">Course1</option>
<option value="Course12">Course12</option>
</select>
所以我的要求是,如果我选择员工“1”,那么我应该只能看到Course1。 如果我选择员工“2”,我应该能够看到Course1和Course2。
答案 0 :(得分:3)
如果没有关于您的视图模型的更多信息,很难回答,但这可能是您的javascript:
(function (myViewModel, $, undefined) {
myViewModel.selectedEmployee = ko.observable(1);
myViewModel.courses = ko.dependentObservable(function () {
var result = ["Course1"];
if (myViewModel.selectedEmployee() === '2') {
result.push("Course2");
}
return result;
});
}(window.myViewModel = window.myViewModel || {}, jQuery));
ko.applyBindings(myViewModel);
然后是你的HTML:
<select id="Employee" data-bind="value: selectedEmployee">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
</select>
<select id="Course" data-bind="options: courses"></select>