如何使用knockout.js设置组合框选择的值?

时间:2013-06-11 19:14:54

标签: jquery asp.net-mvc knockout.js

         $.getJSON(
                    'Home/GetAllEmployees',
                    function (data) {
                        $.each(data, function (key, val) {
                            viewModel.EmployeeList.push(new EmployeeObj(val));
                        });
                    }
           );

此代码在comboBox中加载我的EmployeeList没有任何问题。我有另一张有员工记录的表。每条记录都有一个分配给它的员工ID。运行我的应用程序时,它会迭代员工记录表,如果它有员工ID,它会将该员工ID发送到comboBox,而comboBox将显示指定员工的名称。
我的问题: 因为我是Knockout.js的新手,所以我遇到了这个comboBox的问题。我不知道如何根据提供的员工ID显示员工姓名。

以下是我如何将员工列表加载到ComboBox中:

    <select data-bind="options: EmployeeList, optionsText: 'SELECTED_NAME', 
    optionsValue: 'SELECTED_ID', value: SELECTED_ID, selectedIndex: SELECTED_ID, 
    optionsCaption: 'Select Employee....' ">
    </select> 

这很好用。我能够在comboBox中看到所有员工...

1 个答案:

答案 0 :(得分:0)

你可以这样做:

<select id="selectEmployee" data-bind="options: EmployeeList,
    optionsText: function (item) {
        return item.empName;
    },
    optionsValue: function (item) {
        return item.empId;
    },
    value: $root.selectedEmpId">
</select>