У меня есть список флажков в наблюдаемом массиве, и я хочу контролировать включение и отключение флажков, когда они установлены, для каждой строки.Например, при первом входе в диалог будут включены только «Копировать форму» и «Отключить».Если «Копировать форму» отмечен, то «Рабочий процесс» и «Отчетность» будут включены, но «Отключить» мы бы отключили.Если установлен флажок «Отключить», все остальные флажки будут очищены от значений и отключены.
Вот скриншот того, что я пытаюсь выполнить:
Код (удалены некоторые вещи, которые только усложняют то, что я пытаюсь описать):
HTML:
<tbody data-bind="foreach: SubAccountsToCopy()">
<tr>
<td class="col-sm-4" data-bind="text: linkedAccountName"></td>
<td class="col-sm-1" data-bind="text: linkedVersion"></td>
<td class="col-sm-1" data-bind="text: version"></td>
<td>
<input style="vertical-align: middle" id="copyForm" type="checkbox" data-bind="checked: copyForm, attr: { 'id': 'copyForm' + $index()}">
<label data-bind="attr: { 'for': 'copyForm' + $index()}">Copy Form</label>
</td>
<td title="Also copy the Form Workflow " style="width:100px;">
<input style="vertical-align: middle" type="checkbox" data-bind="checked: copyWorkflow, attr: { 'id': 'copyWorkflow' + $index()}" />
<label data-bind="attr: { 'for': 'copyWorkflow' + $index()}">Workflow</label>
</td>
<td title="Also copy the Report Settings " style="width:100px;">
<input style="vertical-align: middle" type="checkbox" data-bind="checked: copyReportSettings, attr: { 'id': 'copyReportSettings' + $index()}" />
<label data-bind="attr: { 'for': 'copyReportSettings' + $index()}">Reports</label>
</td>
<td title="Will unlink the SubAccount form from the Master Account " style="width:100px;">
<input style="vertical-align: middle" type="checkbox" data-bind="checked: unlink, attr: { 'id': 'unlink' + $index()}" />
<label data-bind="attr: { 'for': 'unlink' + $index()}">Unlink</label>
</td>
</tr>
Сторона javascript - это массив JSON, сопоставленный с наблюдаемым.