Javascript 如何在具有特定输入单元格值的web表中定位行

Javascript 如何在具有特定输入单元格值的web表中定位行,javascript,jquery,Javascript,Jquery,如果我必须发送一个输入字段数组,如var arr=[“Tiger”,69,“Edinburgh”],jQuery必须能够找到一行,其中包含姓名:Tiger,年龄:69和地点:Edinburgh。输入数组可以是任意大小,并应相应地标识web表中的列和行 任何帮助都将不胜感激。提前谢谢你 名称 位置 办公室 年龄 开始日期 薪水 老虎 系统架构师 爱丁堡 61 2011/04/25 $320,800 加勒特温特斯 会计 东京 63 2011/07/25 $170,750 阿什顿考克斯 初级技术作

如果我必须发送一个输入字段数组,如
var arr=[“Tiger”,69,“Edinburgh”]
,jQuery必须能够找到一行,其中包含
姓名:Tiger
,年龄:69和
地点:Edinburgh
。输入数组可以是任意大小,并应相应地标识web表中的列和行

任何帮助都将不胜感激。提前谢谢你


名称
位置
办公室
年龄
开始日期
薪水
老虎
系统架构师
爱丁堡
61
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
66
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
老虎
系统架构师
爱丁堡
69
2011/04/25
$320,800
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
罗娜·戴维森
集成专家
东京
55
2010/10/14
$327,900
科琳赫斯特
Javascript开发人员
旧金山
39
2009/09/15
$205,500
索尼娅·弗罗斯特
软件工程师
爱丁堡
23
2008/12/13
$103,600
杰娜·盖恩斯
办公室经理
伦敦
30
2008/12/19
$90,560

答案更新


如果我发送一个包含列名和搜索输入的字典,那么解决方案是什么。例如:

var dict={“Name”:“Tiger”,“Age”:69}

根据您的意见,我向您提出以下解决方案:

  • 从dict元素计算相应的表col索引
  • 对于每个表行:测试每个元素是否满足所有条件
//
//假设我们正在寻找:
//
var dict={“Name”:“Tiger”,“Age”:69};
//
//让我们创建列名和列索引之间的对应关系
//
var colIdx={};
$('#示例thead tr th').filter(函数(idx,ele){
var keyName=ele.textContent;
var keyValue=Object.keys(dict).indexOf(keyName);
如果(键值!=-1){
colIdx[keyName]=idx;
}
});
//
//对于正文部分中的每个表行
//
var colIndexes=Object.keys(colIdx);
$('#示例tbody tr').filter(函数(idx,ele){
var fVal=colIndexes.filter(函数(colName,idx){
var colValue=dict[colName];
var colIndex=colIdx[colName];
返回($(ele).find('td').eq(colIndex).text()==colValue)
});
//如果所有条件都满足。。。
返回fVal.length==colIndexes.length;
}).css('background-color','red')

名称
位置
办公室
年龄
开始日期
薪水
老虎
系统架构师
爱丁堡
61
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
66
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
老虎
系统架构师
爱丁堡
69
2011/04/25
$320,800
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
罗娜·戴维森
集成专家
东京
55
2010/10/14
$327,900
科琳赫斯特
Javascript开发人员
旧金山
39
2009/09/15
$205,500
索尼娅·弗罗斯特
软件工程师
爱丁堡
23
2008/12/13
$103,600
杰娜·盖恩斯
办公室经理
伦敦
30
2008/12/19
$90,560

答案更新


如果我发送一个包含列名和搜索输入的字典,那么解决方案是什么。例如:

var dict={“Name”:“Tiger”,“Age”:69}

根据您的意见,我向您提出以下解决方案:

  • 从dict元素计算相应的表col索引
  • 对于每个表行:测试每个元素是否满足所有条件
//
//假设我们正在寻找:
//
var dict={“Name”:“Tiger”,“Age”:69};
//
//让我们创建列名和列索引之间的对应关系
//
var colIdx={};
$('#示例thead tr th').filter(函数(idx,ele){
var keyName=ele.textContent;
var keyValue=Object.keys(dict).indexOf(keyName);
如果(键值!=-1){
colIdx[keyName]=idx;
}
});
//
//对于正文部分中的每个表行
//
var colIndexes=Object.keys(colIdx);
$('#示例tbody tr').filter(函数(idx,ele){
var fVal=colIndexes.filter(函数(colName,idx){
var colValue=dict[colName];
var colIndex=colIdx[colName];
返回($(ele).find('td').eq(colIndex).text()==colValue)
});
//如果所有条件都满足