Как удалить строку, если данное ключевое слово не найдено в первом столбце? - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь удалить строку из моей таблицы данных, если данное job_title не найдено, но я получаю table.row(...).delete is not a function

$(document).ready( function () {
    var keywords = ['aslr', 'ida pro', 'gdb', 'windbg', 'immunity debugger', 'boofuzz', 'peach fuzzer', 'winafl', 'python', 'assembly', 'penetration testing', 'exploits', 'metasploit', 'metasploit framework', 'ethical hacker', 'pentest', 'computer security', 'hacking', 'oscp', 'osce', 'osee', 'penetration testing', 'offensive security', 'mitre att&ck', 'vulnerability research', 'vulnerability researcher', 'fuzzing', 'clang', 'llvm', 'address sanitizer', 'afl', 'fuzzers','penetration tester']
    var job_title = ['penetration tester','penetration testing', 'offensive security', 'vulnerability researcher','software','security','developer','ethical hacker','cyberSécurité','threat','it Security','application security','information security','security engineer','product security','cyber security','software engineer']
    var table = $('#example').DataTable({
        responsive: true,
        "ajax": {
            "url": "/index_get_data",
            "dataType": "json",
            "dataSrc": "jobs",
            "contentType":"application/json"
        },
        columnDefs: [{
            targets: 0,
            render: function (data,row) {
              for (var i = 0; i < job_title.length; i += 1) {
                if (data.indexOf(job_title[i])) {
                  console.log("FOUND")
                }else{
                  table.row( this ).delete();
                }
              }
            }
        },{
            targets: 4,
            render: function (data) {
              for (var i = 0; i < keywords.length; i += 1) {
                if (data.indexOf(keywords[i])) {
                  return "<span class='label label-success'>FOUND</span>";
                }
              }
              return "<span class='label label-danger'>NOT_FOUND</span>";
            }
        },{
          targets: 5,
            render: function (data) {
                return '<a href="'+data+'">Link</a>'
            }
        }],
        "columns": [
            {"data": "job_title"},
            {"data": "company"},
            {"data": "city"},
            {"data": "date"},
            {"data": "job_description"},
            {"data": "url"},
        ]
    });
    setInterval( function () {
        table.ajax.reload( null, false );
    }, 30000 );
} );

1 Ответ

0 голосов
/ 16 октября 2019

Я думаю, вы можете использовать rowCallback здесь.

См. Это rowCallback Doc

См. Это

...