12

ノックアウトを使用して入力している選択ボックスがあります。ユーザーがフォームでいくつかの選択を行ったら、その選択ボックスを に設定されているデフォルト値にリセットしたいと思いますoptionsCaption。これをどのように行うつもりですか?空の文字列に設定しようとしましたが、これによりユーザーが選択した値が残ります。

これが私のコードです:

<select data-bind="options: components, optionsValue: 'Component', optionsText: 'Component', optionsCaption: 'Choose Component', value: component"></select>

ここにjsがあります:

self.components = ko.observableArray(["Component":"1234", "Component":"5678"]);
self.component = ko.observable();

次に、別のセクションでやろうとしていることは次のとおりです。

self.component("");

ただし、これは効果がないようです。

編集:ここにフィドルがありますhttp://jsfiddle.net/BASY4/

4

2 に答える 2

26

使用する

self.component(null);

それ以外の

self.component("");

作業 中の jsfiddle

他の値は、ソース リスト (ここでは self.components) にある場合にのみ許可されます。それ以外の場合、値のバインドはすぐにリセットされます。

于 2013-08-21T16:22:27.480 に答える
12

使用するノックアウト js のバージョンに応じて、この質問に対する回答が変わります。

jsfiddle が使用しているようなバージョン2.2.1を使用している場合は、使用する必要があります。

self.component(null);
// or
self.component(undefined);

このバージョンを最新のバージョン2.3.0に変更する場合は、実際に使用できます。

self.component(null);
// or
self.component(undefined);
// OR
self.component('');
于 2013-08-21T21:05:44.350 に答える