2015-01-29 3 views
1
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 --> 

Проникновение через множество пациентов и отображение списка флажков типов травм каждого пациента. Как выбрать несколько флажков для каждого пациента, основываясь на поддиапазоне травм?Массив привязки данных Knockout.js к списку флажков

ответ

3

Я полагаю, что у вас где-то должен быть список всех возможных травм, пусть говорят, что будет в модели родительского вида (вместе с коллекцией пациентов) и называется AllInjuries, также вам нужно будет добавить какой-то метод к вашему классу Patient, будет проходить через все травмы пациента и будет определять, имеет ли этот пациент эту травму, скажем, это называется 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 -->