Мне нужно изменить tr
background-color
, когда мышь щелкнула по нему. Я связываю событие click
с использованием нокаута, потому что мне нужно обновить мою модель просмотра, когда пользователь нажимает на каждую строку таблицы.Вызов методов jquery внутри режима просмотра нокаута
Мне нужно позвонить $(row).css('background-color', 'red');
внутри моей модели.
демо: http://jsfiddle.net/tzD4T/391/
мой взгляд модель:
function ViewModelTrazas(data) {
var self = this;
self.trazas = ko.observableArray();
array = self.trazas;
self.selectRow = function (row) {
self.seletedRow(row);
// HERE I SHOULD CHANGE THE TR BG
// SOMETHIN LIKE THIS:
// $(row).css('background-color', 'red');
}
self.seletedRow = ko.observable();
}
HTML-:
<div id="gridAndDetail">
<table style="width: 100%">
<tr>
<td>
<div style="margin-top:-4px;
height: 200px; overflow:auto;">
<table id="datagrid" style="width: 100%;">
<thead style="text-align:left">
<tr>
<th>Date</th>
<th>Machine</th>
<th>Event type</th>
<th>Detail</th>
</tr>
</thead>
<tbody data-bind="foreach: trazas">
<tr data-bind="click: $parent.selectRow">
<td data-bind=" text: Fecha"></td>
<td data-bind=" text: Maquina"></td>
<td data-bind=" text: TipoEvento"></td>
<td data-bind=" text: Mensaje"></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</table>
(с использованием JQuery click
событий связующий должен делать эту работу, но я не знаю, почему я 'm не может выбрать все мои tr
с помощью этого селектора:
$('#datagrid tr').click(function(){});
Это соответствует только thead
часть таблицы.)