如何使用json2html突出显示结果表的行?

时间:2014-12-29 20:10:56

标签: javascript jquery html json json2html

我使用Json2HTML jquery插件json2html从JSON数据构建表, 这是当前状态:http://jsfiddle.net/hamiltonlima/7u8v9wdq/ 我想要的是在处理过程中比较currentID所以' .active'可以添加到班级, 有什么建议吗?

html

    <div class="container">
    <p>
        <table id="placar" class="table table-condensed  table-bordered">
            <thead>
                <tr>
                    <th>#</th>
                    <th>Luchador</th>
                    <th>K</th>
                    <th>D</th>
                    <th>Pontos</th>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
</div>

Javascript

    var data = [{
    'order': '1',
        'name': 'nheco',
        'k': '3',
        'd': '0',
        'score': '121',
        'id': '540'
}, {
    'order': '2',
        'name': 'boingo',
        'k': '15',
        'd': '3',
        'score': '122',
        'id': '541'
}, {
    'order': '3',
        'name': 'Oswaldo',
        'k': '0',
        'd': '23',
        'score': '123',
        'id': '542'
}];

var currentID = 541;

var transform = {
    tag: 'tr',
    children: [{
        "tag": "td",
            "html": "${order}"
    }, {
        "tag": "td",
            "html": "${name}"
    }, {
        "tag": "td",
            "html": "${k}"
    }, {
        "tag": "td",
            "html": "${d}"
    }, {
        "tag": "td",
            "html": "${score}"
    }]
};

$('#placar > tbody ').json2html(data, transform);

1 个答案:

答案 0 :(得分:0)

通过标签#json2html搜索找到了其他问题,引导我找到解决方案: How can I apply differnt styles when transforming data using json2html based on data value?

只需在class属性中添加一个函数来处理它,数据的每一行在函数中都可用作'this'

所以这就像这样......

class : function(){
        if( this.id == currentID ){
            return 'info';
        } else {
            return '';
        }
    },

完整的示例如下:http://jsfiddle.net/hamiltonlima/7u8v9wdq/15/

修改

遗憾的是,json2html中的replace = true选项没有按预期工作......我为每一行写了另一个解决方案add id,并更新了值。看看http://jsfiddle.net/hamiltonlima/oqo9otq0/