Datatable实现根本不起作用,Javascript/JQuery

Datatable实现根本不起作用,Javascript/JQuery,javascript,jquery,html,css,Javascript,Jquery,Html,Css,是的,这可能是显而易见的,但对于jquery/javascript来说是新的,这让我很困惑。我正在学习教程(不起作用的代码是jsfiddle.net/wqbd6qeL)。但这对我不起作用。现在,我的html与他在我眼中的html相似/相同。我很确定我的问题是我如何尝试实现他的代码。javascript正在运行,突出显示的css也在运行。我是否正确地执行了以下步骤?(var=表位) 哦!!条件(=“失败”)我已经测试了几种不同的方法。与不相等等,但它从来没有突出任何:(。但css肯定是达到 &l

是的,这可能是显而易见的,但对于jquery/javascript来说是新的,这让我很困惑。我正在学习教程(不起作用的代码是jsfiddle.net/wqbd6qeL)。但这对我不起作用。现在,我的html与他在我眼中的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>

//列表表
var lt=$(文档).ready(函数(){
$('#listTable')。数据表({
initComplete:函数(){
var api=this.api();
api.columns().index().flatte().each(函数(i){
var column=api.column(i);
变量选择=$(“”)
.appendTo($(column.footer()).empty())
.on('change',function(){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
});
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
});
});
}
});
$('#addbtn')。单击(addRow);
});
//不知道为什么这不起作用??
变量表=$(“#列表表”).DataTable({
fnRowCallback:函数(nRow、aData、iDisplayIndex、iDisplayIndexFull){
如果(aData[2]=“Fail”){
$(nRow).addClass('highlight');
}
}
});

您应该将该块放在注释下面

//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>

//列表表
var lt=$(文档).ready(函数(){
$('#listTable')。数据表({
fnRowCallback:函数(nRow、aData、iDisplayIndex、iDisplayIndexFull){
如果(aData[2]=“Fail”){
$(nRow).addClass('highlight');
}
},            
initComplete:函数(){
var api=this.api();
api.columns().index().flatte().each(函数(i){
var column=api.column(i);
变量选择=$(“”)
.appendTo($(column.footer()).empty())
.on('change',function(){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
});
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
});
});
}
});
$('#addbtn')。单击(addRow);
});

Hello mate,首先非常感谢您如此快速的响应。我已经这样做了,但我似乎收到了一个错误(nRow括号中的红色下划线和错误“预期标识符”)?如“(nRow”我加上了最后的结果,因为我是认真的,先生。你是个圣人!我希望我能给你更多的选票!圣诞快乐!很高兴我能帮助你:)圣诞快乐