0

ノックアウトでキー値オブジェクトをオプションリストにバインドしたい

function ParameterOption(name , value) { 
    this.name = name;
    this.value = value;
}

私の選択リスト

<select data-bind="
  options: Options, 
  value: SelectedValue,
  optionsText: 'name',
  attr :{'id':Id, 'name':Name}"></select>

カスケード ドロップボックスを使用しているため、次のリストを取得するにはオプション テキストが必要です。フォームを送信するときに、値を送信したいと思います。

これは、私がこれまでに行ったことの実用的なフィドルです。

私の問題はoptionsValue、フォームを送信するときに設定しないと、パラメーターに値がないことです。しかし、私が設定した場合、オブジェクトoptionsValue : 'value'ではなく、モデルの生の値を取得します。ParameterOption

値をオプションにバインドし、選択した値としてオブジェクトを取得してモデルに戻す方法はありますか?

4

1 に答える 1

1

optionsAfterRenderパラメーターを使用してvalue各オプションのプロパティを設定し、送信時に選択ボックスにテキスト値を指定できますが、Knockout で使用されるオブジェクト値を混乱させることはありません。

optionsAfterRender: function(option, item) { option.value = item.value }

jsFiddle: http://jsfiddle.net/7fJkh/4/

参照: http://knockoutjs.com/documentation/options-binding.html

于 2013-09-20T08:11:55.157 に答える