2013-06-18 3 views
1

У меня трудное время получить выбранное значение списка с помощью Knockout JSKnockoutJs: Получение значения из DropDownList

jsFiddle

HTML

 <select id="l" data-bind="options: locations, value=selectedLocation"></select> 
    <select id="j" data-bind="options: jobTypes, value=selectedJobType"></select> 
    <button data-bind="click: myFunction"> Display </button> 

Script

 var viewModel = { 
      locations: ko.observableArray(['All Locations', 'Sydney', 'Melbourne', 'Brisbane', 'Darwin', 'Perth', 'Adelaide']), 
      selectedLocation: ko.observable(), 

      jobTypes: ko.observableArray(['All Vacancies', 'Administration', 'Engineering', 'Legal', 'Sales', 'Accounting']), 
      selectedJobType: ko.observable(), 

      myFunction: function() { 
       alert(selectedJobType + ' ' +selectedLocation); 
      } 
     }; 
     // ... then later ... 
     //viewModel.availableCountries.push('China'); 
     // Adds another option 
     ko.applyBindings(viewModel); 

ответ

2

Это должно быть

value:selectedLocation 

и:

value:selectedJobType 

в вас привязок. Привязки используют тот же синтаксис, что и литерал объекта.

Кроме того, в вашем уведомлении необходимо viewModel.selectedJobType(), потому что (a) это свойство viewModel не глобального, и (b) оно является наблюдаемым, поэтому вам нужно позвонить ему, чтобы получить значение. То же самое для selectedLocation.

Вот рабочий fiddle

+0

Боже, как глупо .... Спасибо !!!!!!! – lincx

Смежные вопросы