У меня есть система тикетов, которая написана на KnockOut с использованием шаблона. Структура шаблона указана ниже. Этот шаблон повторяется для нескольких пользователей на странице. В этом parent.AssignedTickets - это список идентификаторов Ticket, назначенных пользователям.
<script type="text/html" id="TicketAssignmentTemplate">
<td>
<label data-bind="css: {success: $root.getCheckStatus(TicketId, $root.AllAssignedTickets)}">
<input type="checkbox" data-bind="checkedValue: TicketId, checked: $parent.AssignedTickets" />
</label>
</td>
<td>
<label data-bind="text: title"></label>
</td>
self.getCheckStatus = function (itkID, ListID ) {
if (ListID.indexOf(itkID)>= 0)
return true;
else
return false;
}
<style>.success{background-color: #DFF0D8;}</style>
Таким образом, система имеет несколько идентификаторов TicketID, и если он назначен пользователю, установив флажок, parent.AssignedTickets обновляется, и я обновляю root.AllAssignedTickets, оба из которых являются наблюдаемыми массивами. Теперь я хочу изменить цвет метки для флажка, который обновляется с помощью getCheckStatus (TicketId, $ root.AllAssignedTickets).
Можно ли сделать функцию наблюдаемой для обновления CSS в реальном времени, когда флажок установлен или не установлен?