9

ノックアウトjsを使用して選択リストをバインドしています。ここにSampleが あります。選択した値ではなく、選択したオプションのテキストを取得したいです。

knockoutjs を使用して取得する方法は?

<select id="projectMenu" name="projectMenu" data-bind="   
        value: selectedProject,
        options:        projectFilters,
        optionsText:    'a', 
        optionsValue:   'b',   
        optionsCaption: '-- Select Project --'
    ">
    </select>
<b>Selected Project:</b> <span data-bind="text: selectedProject"></span>
4

3 に答える 3

10

これを行う最も簡単な方法は、optionsValue バインディングを削除することです。optionsValue バインディングを指定しない場合、アイテム全体が選択された値になります。

<select id="projectMenu" name="projectMenu" data-bind="   
        value: selectedProject,
        options:        projectFilters,
        optionsText:    'a',         
        optionsCaption: '-- Select Project --'
    ">
    </select>
<b>Selected Project:
<span data-bind="text: selectedProject() ? selectedProject().a : 'no selection '"></span>

フィドルを見る

于 2013-10-24T10:48:44.313 に答える
1
vm.selectedCountryName = ko.computed(function () {
        var text = '';
        ko.utils.arrayForEach(vm.countries(), function (item) {
            if (item.CountryId == vm.selectedCountry()) {
                text = item.CountryName;
                return;
            }
        });
        return text;
    });
于 2016-06-29T08:46:47.067 に答える