我有一个简单的产品列表,其中使用该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);
任何帮助将非常感激。
提前致谢。