2011-08-22 5 views
0

Je suis nouveau à Knockout.js quelqu'un peut-il me dire comment nous pouvons peupler les listes déroulantes b en utilisant Knockout.js. J'ai deux listes déroulantes: Employé et Cours.remplir les listes déroulantes en utilisant Knockout.js

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

donc mon exigence est si je choisis des employés « 1 » alors je devrais être en mesure de voir que course1. si je choisis l'employé "2" je devrais être capable de voir Course1 et Course2.

Répondre

3

Sans plus d'informations sur votre modèle de vue, il est assez difficile de répondre, mais cela pourrait être votre 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); 

puis votre code 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> 
Questions connexes