隐藏表没有匹配(wenzhixin的扩展引导表)

时间:2016-03-17 09:37:52

标签: jquery bootstrap-table

我有一个包含三个表的页面。我在第一个表上放了一个“按钮格式化程序”,点击它时会为后两个表设置数据网址。

示例:

window.actionEvents = {
     'click .edit': function (e, value, row, index) {
            $('#tabletwo').bootstrapTable('refresh', {
                url: '/api/controllerExample/' + row.id + '/exampleActionOne'
            });
            $('#tablethree').bootstrapTable('refresh', {
                url: '/api/controllerExample/' + row.id + '/exampleActionTwo'
            });
        }
    };

现在,并非所有行“id”行都有任何数据。这样的眼睛疼痛,有两张桌子,显示它们无法显示。

问题:

是否可以将actionlistener设置为诸如“done loading data”之类的表,然后检查table是否为空,是否执行某些逻辑(例如将div设置为隐藏)

2 个答案:

答案 0 :(得分:0)

解决了我自己的问题。

Bootstrap表支持事件,因此我会监听“load-success”事件,当它触发时我从表中获取数据并检查它是否不超过2(“[]”)。如果它是两个则意味着表是空的。

示例:

       $('#tabletwo').on('load-success.bs.table', function () {
            if (JSON.stringify($('#tabletwo').bootstrapTable('getData')).length < 3) {
                        $('#containingDiv').hide();
                    } else {
                        $('#containingDiv').show();
                    }
        });

答案 1 :(得分:0)

    let $msgTable = $('#bootstrapTable');
    $msgTable.on('load-success.bs.table', function (data) {
        let $tableBlock = $('#bootstrapTableBlock');
        if (data.length > 0) {
            $tableBlock.show();
        } else {
            $tableBlock.hide();
        }
    });