Knockout.js 数据绑定数组到复选框列表
Knockout.js data-bind array to list of checkboxes
Patient 1
Patient.Age = '25'
Patient.Injury[0].Date = '2015-01-01'
Patient.Injury[0].Type = 'Burned'
Patient.Injury[1].Date = '2015-01-27'
Patient.Injury[1].Type = 'Sprained Ankle'
Patient 2
Patient.Age = '17'
Patient.Injury[0].Date = '2015-01-08'
Patient.Injury[0].Type = 'Papercut'
<!-- ko foreach: Patient -->
<input type="checkbox" data-bind="checked: ?"> Sprained Ankle
<input type="checkbox" data-bind="checked: ?"> Burned
<input type="checkbox" data-bind="checked: ?"> Papercut
<!-- /ko -->
循环遍历多个患者的数组并显示每个患者伤害类型的复选框列表。我如何 select 每个病人的多个复选框,基于伤害的子数组?
我想你在某个地方应该有一个所有可能受伤的列表,假设它将在父视图模型中(以及患者集合)并称为 AllInjuries
你还需要添加一些方法对于您的 Patient
class 什么将遍历所有患者的伤害并确定该患者是否有该伤害,假设它称为 hasInjury
。然后你就可以使用这样的东西了:
<!-- ko foreach: Patient -->
<!-- ko foreach: $parents[1].AllInjuries -->
<input type="checkbox" data-bind="checked: $parent.hasInjury($data.Type)">
<span data-bind="text: Type"></span>
<!-- /ko -->
<!-- /ko -->
Patient 1
Patient.Age = '25'
Patient.Injury[0].Date = '2015-01-01'
Patient.Injury[0].Type = 'Burned'
Patient.Injury[1].Date = '2015-01-27'
Patient.Injury[1].Type = 'Sprained Ankle'
Patient 2
Patient.Age = '17'
Patient.Injury[0].Date = '2015-01-08'
Patient.Injury[0].Type = 'Papercut'
<!-- ko foreach: Patient -->
<input type="checkbox" data-bind="checked: ?"> Sprained Ankle
<input type="checkbox" data-bind="checked: ?"> Burned
<input type="checkbox" data-bind="checked: ?"> Papercut
<!-- /ko -->
循环遍历多个患者的数组并显示每个患者伤害类型的复选框列表。我如何 select 每个病人的多个复选框,基于伤害的子数组?
我想你在某个地方应该有一个所有可能受伤的列表,假设它将在父视图模型中(以及患者集合)并称为 AllInjuries
你还需要添加一些方法对于您的 Patient
class 什么将遍历所有患者的伤害并确定该患者是否有该伤害,假设它称为 hasInjury
。然后你就可以使用这样的东西了:
<!-- ko foreach: Patient -->
<!-- ko foreach: $parents[1].AllInjuries -->
<input type="checkbox" data-bind="checked: $parent.hasInjury($data.Type)">
<span data-bind="text: Type"></span>
<!-- /ko -->
<!-- /ko -->