私はこのselect
持っていない場合:設定のデフォルト値は値
<select data-bind="options: $root.users(), optionsText: 'name', optionsValue: 'id', value: $root.selectedUser, optionsCaption: 'Select one'"></select>
は私だけ$root.selectedUser = 0
がそうでなければ、私は、デフォルト値を必要としない場合は、デフォルト値(「セレクト1」)を選択する必要があります。
私はそれを試してみました:
<select data-bind="options: $root.users(), optionsText: 'name', optionsValue: 'id', value: $root.selectedUser, optionsCaption: $root.selectedUser() === 0 ? 'Select one' : ''"></select>
をしかし、それは働いていません。 ($root.selectedUser = 0
の場合、デフォルト値の代わりにリストの最初の値が表示されます)
これを達成する方法はありますか?こののModelViewもし
エラーは再現できません:http://jsfiddle.net/ogLpxc0L/1/。あなたはフィドルを更新できますか? –
@JoseLuisありがとうございました、問題の原因がわかりました。 'selectedUser'は' 0'値を得ることができません。 '0'値を設定すると' undefined'が得られます。 'selectedUser'を' 0 'にできないのはなぜですか?私はfiddleに 'console.log()を追加しました。 – user3378165
フィディ(http://jsfiddle.net/ogLpxc0L/4/)のこのアップデートでは、 '0'を選択することができます。選択した実際の値を表示するために 'Selected'という行を追加しました。また、最初のユーザーをid = 0に変更しました。このリンク(http://knockoutjs.com/documentation/options-binding.html)では、 'undefined'値がデフォルトオプションを示しています。 –