1

Knockout JS を使用してドロップダウン リストの選択した値を取得するのに苦労しています

jsフィドル

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>

脚本

       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);
4

1 に答える 1

2

そうあるべき

value:selectedLocation

と:

value:selectedJobType

あなたのバインディングで。バインディングは、オブジェクト リテラルと同じ構文を使用します。

また、 (a) グローバルではないviewModel.selectedJobType()プロパティであり、(b) オブザーバブルであるため、値を取得するにはそれを呼び出す必要があるため、アラートには が必要です。viewModelについても同じですselectedLocation

これが実用的なフィドルです

于 2013-06-18T03:00:31.307 に答える