完全卡在了这一点上。仔细阅读,但令人难以置信的是找不到其他任何可能超过两个单选按钮的人,这些单选按钮需要它们的值作为布尔值。
给定一个看起来像这样的视图:-
相应的淘汰视图模型:-
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。其他必须设置为假。我已经尝试对下面的 html 进行各种调整,但我没有得到任何结果。有些帖子说真/假被设置为字符串,例如“真”或“假”。我已经尝试过淘汰可观察扩展器、回调,但正如我所说,到目前为止没有任何效果。有时我得到一个“on”对于 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>