Javascript 隐藏表A中出现在表B中的行

Javascript 隐藏表A中出现在表B中的行,javascript,java,jquery,html,Javascript,Java,Jquery,Html,我有表(员工)A: 和表(雇员)B: 那些人是我的“雇员”。表B中的姓名是我数据库中的所有员工,表A中的姓名是我分配给1号项目的所有员工 我想隐藏表B中已经出现在表A中的所有姓名,因为我不想将同一名员工重新分配给项目1 如何使用jQuery解决此问题?客户端检查将是: function compareLists(listA, listB){ var resultList = []; listA.forEach(function(itemA){ listB.forEach(fun

我有表(员工)A:

和表(雇员)B:

那些人是我的“雇员”。表B中的姓名是我数据库中的所有员工,表A中的姓名是我分配给1号项目的所有员工

我想隐藏表B中已经出现在表A中的所有姓名,因为我不想将同一名员工重新分配给项目1


如何使用jQuery解决此问题?

客户端检查将是:

function compareLists(listA, listB){
 var resultList = [];
   listA.forEach(function(itemA){
     listB.forEach(function(itemB){
        if (itemB.name !== itemA.name)resultList.push(itemB);
     }
   }
 return resultList;  
}
或在服务器端(数据库):


问候语

通常,您应该在服务器端使用前面回答的
SQL
进行问候。但是,因为您询问了javascript。这是在客户端对其进行过滤的方法:

//collect list of names in A
var table = document.getElementById("TableA");
var names = []
for (var i = 0, row; row = table.rows[i]; i++) {
    names.push(row.celss[1]);
}
//check names in B
table = document.getElementById("TableB");
for (var i = 0, row; row = table.rows[i]; i++) {
    if(jQuery.inArray(row.cells[1], names) !== -1){
        //show row
    }else{
        //hide row
    }
}

我在Jquery方面没有那么多知识

但是这个查询提高了大型数据库中的性能

SELECT
    FROM TableB
    LEFT JOIN TableA ON TableB.name=TableA.name   // id will be better than name
    WHERE TableB.name IS NULL

希望这有帮助

您希望在客户端对其进行排序吗?嗯,您以前有没有尝试与我们分享过?我强烈建议你先自己解决这个问题,因为这样你会学到更多。
select * from table_b where name not in (select name from table_a)
//collect list of names in A
var table = document.getElementById("TableA");
var names = []
for (var i = 0, row; row = table.rows[i]; i++) {
    names.push(row.celss[1]);
}
//check names in B
table = document.getElementById("TableB");
for (var i = 0, row; row = table.rows[i]; i++) {
    if(jQuery.inArray(row.cells[1], names) !== -1){
        //show row
    }else{
        //hide row
    }
}
SELECT
    FROM TableB
    LEFT JOIN TableA ON TableB.name=TableA.name   // id will be better than name
    WHERE TableB.name IS NULL