1

selectedValue「ハム」の値を持つ選択のプリセット値があります。「スパム」、「ハム」、「チーズ」の 3 つのオプションがあります。

ビューモデルが適用されると、「ハム」の値が選択されますが、その値がselectedValue失われるため、実際には「ハム」は選択されているように見えますが、選択されていません。

selectValue初期値を保持できるようにするには、何を変更する必要がありますか? これがjsfiddleです

HTML

<select data-bind="value:selectedValue">
   <option data-bind="repeat: values" 
        data-repeat-bind="value: $item(), text: $item()">
   </option>
</select>
<br>selectedValue: <span data-bind="text:selectedValue"></span>

ビューモデル

var viewModel = function () {
    this.selectedValue = ko.observable("ham"); //initial value has been chosen.
    this.values = ko.observableArray(["spam", 'ham', 'cheese']);
    this.showMeSelectedValue = function(){alert(this.selectedValue())};
};

ko.applyBindings(new viewModel());

注: https://github.com/mbest/knockout-repeat の繰り返しバインディングを使用しています。通常は通常のオプション バインディングを使用しますが、select ラベルが機能するにはバインディングを繰り返す必要があります。

4

1 に答える 1