私は人のリストを持っています。人ごとに、私は真/偽のステータスを持っています。これは一人ずつ縛ってほしい。以下の Fiddle を確認すると、正しくバインドされていますが、ラジオ ボタンが期待どおりに機能していません。各行に独自のラジオボタンのセット(行ごとに異なる名前)を持たせたいと思います。
例えば。行 1 をクリックして true、行 2 をクリックして false にします。それは許可されるべきですが、名前が競合しているため、行1の選択が削除されます。ありがとうございました
<table width="300px;">
<thead>
<tr>
<th>Name</th>
<th>Status</th>
</tr>
</thead>
<tbody data-bind="foreach: people">
<tr>
<td>
<span data-bind="text: Name"></span>
</td>
<td>
<input type="radio" name="Status" value="true" data-bind="checked: Status" />
<input type="radio" name="Status" value="false" data-bind="checked: Status" />
</td>
<td><button data-bind="click: $root.changeStatus">Change Status</button></td>
</tr>
</tbody>
</table>
</p>
function People(data) {
var self = this;
self.Name= data.Name;
self.Status = ko.observable(data.Status);
}
function PeopleViewModel(userId) {
var self = this;
self.people = ko.observable([
{ Name: 'Bert', Status: true },
{ Name: 'Charles', Status: true },
{ Name: 'Denise', Status: false }
]);
self.changeStatus = function()
{
alert("Change " + this.Name + " to " + this.Status);
};
}
ko.applyBindings(new PeopleViewModel());
</p>