これに完全に行き詰まった。周りを読んでみてくださいが、信じられないことに、値をブール値として必要とする可能性のある 2 つ以上のラジオボタンを持っている人を見つけることができません。
次のようなビューが与えられた場合:-
対応するノックアウト ビューモデル:-
function driver(name, license, maindriver) {
var self = this;
self.DriverName = ko.observable(name);
self.License = ko.observable(license);
self.IsMainDriver = ko.observable(maindriver);
}
これらを「IsMainDriver」の実際のブール値で投稿するのに、あらゆる種類の問題があります。これらのいずれかを選択する場合は、true に設定する必要があります。その他は false に設定する必要があります。以下のhtmlにさまざまな調整を試みましたが、どこにも行きません。一部の投稿では、真/偽が文字列として設定されていることについて何かを言っています。たとえば、「true」または「false」です。私はノックアウトオブザーバブルエクステンダー、コールバックを試しましたが、私が言ったように、これまでのところ何も機能していません. firebug の「IsMainDriver」に対して「オン」が有効でない場合があります。私がこれまでに行った最善の努力は、唯一の問題が 'IsMainDriver' オブザーバブルが true に設定されると再び false に設定されないことであったカスタム バインディングを使用することです。 、投稿時、複数の行で 'IsMainDriver' が true に設定されていました (意味があることを願っています)。どんな助けでも大歓迎です。
<td>
<input name="mainDriverGroup[]" type="radio" data-bind="checked: IsMainDriver, value:IsMainDriver()" class="required" data-val-required="Please choose the main driver." />
<span class="field-validation-valid" data-valmsg-for="mainDriverGroup[]" data-val-replace="true"></span>
</td>