2013-06-11 32 views
0
  $.getJSON(
        'Home/GetAllEmployees', 
        function (data) { 
         $.each(data, function (key, val) { 
          viewModel.EmployeeList.push(new EmployeeObj(val)); 
         }); 
        } 
      ); 

此代碼加載我的組合框裏面EmployeeList的,沒有任何問題。我有另一張有員工記錄的表格。每條記錄都有一個分配給它的員工ID。當運行我的應用程序時,它迭代員工記錄表,如果它有員工ID,它會將該員工ID發送到組合框,組合框將顯示指定員工的名稱。
我的問題: 因爲我是Knockout.js的新手,我遇到了這個組合框的問題。我不知道如何根據提供的員工ID顯示員工姓名。如何使用knockout.js設置組合框選定值?

這裏是我的員工列表加載到組合框:

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

這工作得很好。我能看到所有的員工連接下拉框中...

+0

我看到,創建一個'EmployeeList'代碼,但我沒有看到任何的組合框代碼。你可以發佈嗎? – Owlvark

+0

如何從[「選項」綁定](http://knockoutjs.com/documentation/options-binding.html) – Owlvark

+0

文檔中的示例4找到答案?如果沒有,我認爲你應該擺弄你面臨的問題。 – Damien

回答

0

你可以這樣做:

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