16

という事は承知しています

<p>Destination country: <select data-bind="options: availableCountries"></select></p>

<script type="text/javascript">
    var viewModel = {
        availableCountries : ko.observableArray(['France', 'Germany', 'Spain']) // These are the initial options
    };

    ko.applyBindings(viewModel);
</script> 

次のような選択要素を作成します。

<select data-bind="options: availableCountries">
    <option value="France">France</option>
    <option value="Germany">Germany</option>
    <option value="Spain">Spain</option>
</select>

しかし、次のようにしたい場合はどうなりますか:

<select data-bind="options: availableCountries">
    <option value="1">France</option>
    <option value="2">Germany</option>
    <option value="3">Spain</option>
</select>

私のコードは何ですか?

optionsText を使用してオプションを入力できることはわかっていますが、 optionsValue が機能しないようです

乾杯、ダニエル

4

1 に答える 1

27

['France', 'Germany', 'Spain']との個別のプロパティを持つ構造体に配列をマップする必要がvalueありtextます。

例えば、

[
   { value: 1, name: 'France' }, 
   { value: 2, name: 'Germany' }, 
   { value: 3, name: 'Spain' }
]

次に、次のようにバインドできます。

<select data-bind="options: availableCountries, optionsText: 'name', optionsValue: 'value'"></select>
于 2012-05-02T13:43:05.927 に答える