代码之家  ›  专栏  ›  技术社区  ›  Notinlist

如何根据条件突出显示列表中的行

  •  0
  • Notinlist  · 技术社区  · 15 年前

    版本2.3.4

    假设,我有一个 items 具有某些字段的表,例如: id, name, something, created_at, updated_at, is_dirty . 我正在使用active scaffold从中显示一个HTML表。

    class ItemsController < ApplicationController
      layout 'application'
      active_scaffold :item do |c|
        c.columns = [ :id, :name, :something ]
        c.show.columns.add [ :is_dirty, :created_at, :updated_at]
        c.list.per_page = 20
        list.sorting = {:created_at => 'DESC'}
      end
      # ...
    end
    

    我有一个由另一个控制器驱动的导入功能。导入之后,受影响的行' is_dirty 场将变成 true ,另一个的 价值和以前一样。

    在我想要的项目列表中 使用一些刺激性的颜色(例如黄色或粉色) 脏吗 字段是 . 我在网上搜索了一下,只找到了字段覆盖。我对基于RJS的解决方案不感兴趣,因为与要完成的任务相比,它的开销太大了。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Samo    15 年前

    当引发事件时,能否向行中添加css类?这个导入是通过AJAX调用运行的还是在加载DOM之前完成的?如果在加载DOM之前运行,我个人会在一些包含的js文件中添加一些jQuery:

    $(document).ready(function() { 
        $('tr').filter(function() { 
            return $(this).attr('is_dirty'); 
        }).addClass('ugly_yellow'); 
    }); 
    

    如果导入通过AJAX调用运行,则可以向处理程序添加类似的代码。

    如果您不使用jQuery,我相信您可以在Prototype中做一些类似的事情,但我更喜欢jQuery,并建议每个人至少尝试一下:)

    推荐文章