1つのオプションをクリックすると、他のすべてのオプションを "X"で変更するオプションリストを作成する必要があります。選択したオプションが選択されたままでいないことを除いて、正常に動作しています。誰が何が間違っているのか分かりますか?別のラジオボタンの値を変更する
var data = [{
name: "CheckBox1",
status: " "
}, {
name: "CheckBox2",
status: "X"
}, {
name: "CheckBox3",
status: "X"
}];
var ViewModel = function() {
var self = this;
self.list = ko.mapping.fromJS(data);
self.change = function(data) {
for (i = 0; i < self.list().length; i++)
self.list()[i].status("X");
data.status(" ");
return true;
}
}
ko.applyBindings(new ViewModel(data));
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
<!--ko foreach: $root.list-->
<!-- ko with: $data -->
<label data-bind="text: name"></label>
<input type="radio" data-bind="checkedValue: status() === ' ', click:$root.change" />
<!--/ko-->
<!--/ko-->
<!--ko foreach: $root.list-->
<!-- ko with: $data -->
<p data-bind="text: name"></p>
<p data-bind="text: status"></p>
<!--/ko-->
<!--/ko-->
@ Rothth-Nair、ありがとうございました。 – Guto