使用Knockout.js填充下拉列表

时间:2011-08-22 06:07:58

标签: knockout.js

我是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。

1 个答案:

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