javascript - 数据表实现根本不起作用,Javascript/JQuery

标签 javascript jquery html css

是的,这可能是显而易见的事情,但作为 jquery/javascript 的新手,这让我感到困惑。我正在学习教程(不起作用的代码是 jsfiddle.net/wqbd6qeL )。但这对我不起作用。现在我的 html 在我看来与他相似/相同。我很确定我的问题是我如何尝试实现他的代码。 javascript 正在运行,突出显示的 css 也在运行。我是否正确实现了以下内容? (var = 表位)。

哦!和条件(==“失败”)我已经测试了几种不同的方法。不等于等。但它从不突出显示任何内容:(。但肯定会达到 css。

 <script>

       //listTable 
    var lt = $(document).ready(function () {
        $('#listTable').DataTable({
            initComplete: function () {
                var api = this.api();

                api.columns().indexes().flatten().each(function (i) {
                    var column = api.column(i);
                    var select = $('<select><option value=""></option></select>')
                        .appendTo($(column.footer()).empty())
                        .on('change', function () {
                            var val = $.fn.dataTable.util.escapeRegex(
                                $(this).val()
                            );

                            column
                                .search(val ? '^' + val + '$' : '', true, false)
                                .draw();
                        });

                    column.data().unique().sort().each(function (d, j) {
                        select.append('<option value="' + d + '">' + d + '</option>')
                    });
                });
            }
        });
              $('#addbtn').click(addRow);
    });

    //no idea why this is not working??
    var table = $('#listTable').DataTable({
        fnRowCallback: function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
            if (aData[2] == "Fail") {          
                $(nRow).addClass('highlight');
            }
        }
    });

</script>

最佳答案

你应该把这个 block 放在你的评论下面

//no idea why this is not working??

函数内部

var lt = $(document).ready(function () {....}));

其实你可以复制

fnRowCallback: function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
    if (aData[2] == "Fail") {          
        $(nRow).addClass('highlight');
    }
}

排在前面

initComplete: function () {

并删除评论下方的所有内容。不要忘记在 fnRowCallback 之后添加逗号。

希望这就是你想要的。

编辑:

这是最终结果:

 <script>

       //listTable 
    var lt = $(document).ready(function () {
        $('#listTable').DataTable({
            fnRowCallback: function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                if (aData[2] == "Fail") {          
                    $(nRow).addClass('highlight');
                }
            },            
            initComplete: function () {
                var api = this.api();

                api.columns().indexes().flatten().each(function (i) {
                    var column = api.column(i);
                    var select = $('<select><option value=""></option></select>')
                        .appendTo($(column.footer()).empty())
                        .on('change', function () {
                            var val = $.fn.dataTable.util.escapeRegex(
                                $(this).val()
                            );

                            column
                                .search(val ? '^' + val + '$' : '', true, false)
                                .draw();
                        });

                    column.data().unique().sort().each(function (d, j) {
                        select.append('<option value="' + d + '">' + d + '</option>')
                    });
                });
            }
        });
              $('#addbtn').click(addRow);
    });

</script>

关于javascript - 数据表实现根本不起作用,Javascript/JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443417/

相关文章:

javascript - 光滑的 slider 显示堆叠的幻灯片

javascript - 通过 jQuery 仅传递选定的复选框和属性输入文本框?

javascript - Swiper 为多行时的 Swiper-Slide-Active 类

javascript - 鼠标悬停时显示导航

html - 为另一个 div 设置视口(viewport)高度时排除现有 div 的高度

javascript - jQuery .On() 不使用从对象传递的参数触发

javascript - 居中对齐动态宽度表的标题

jquery - 媒体查询和 JQuery 问题

html - 伪元素的z-index定位

javascript - 玩家沿对 Angular 线移动 - 太快了 || Node JS