У меня есть простой список продуктов, в которых чередование зебры достигается с помощью метода cycle
.
Вот часть продукта:
<tr class="product <%= cycle 'odd', 'even' %>">
<td><%= product.name %></td>
<td><%= product.price %></td>
<td><%= product.percentage %></td>
<td><%= link_to "Show", product %></td>
<td><%= link_to "Edit", edit_product_path(product), :remote => true %></td>
<td><%= link_to "Destroy", product, :confirm => 'Are you sure?', :method => :delete, :remote => true %></td>
</tr>
ОднакоКогда я динамически вставляю другой продукт, метод цикла логически выбирает первый класс (в данном случае «нечетный» класс), тем самым разбивая чередование до следующей перезагрузки.Хотя динамическая перезагрузка всего продукта будет работать;этот метод выглядит несколько грязным и, скорее всего, испортит нумерацию страниц.Так как я все еще относительно новичок в JavaScript и Prototype, я не могу придумать это самостоятельно, поэтому я должен спросить: есть ли способ получить класс предыдущего продукта («нечетный» или «четный»)и добавить класс к недавно добавленному товару соответственно?
Мой текущий UJS использовал для вставки частичного:
Modalbox.hide();
function insertProduct() {
$('products').insert( { top: "<%= escape_javascript(render @product) %>" } );
$$('.product').first().highlight();
}
insertProduct.delay(0.8);
Любая помощь будет высоко ценится.
Заранее спасибо.