querySelectorAll有两个或多个数据集作为查询

时间:2017-08-11 15:20:33

标签: javascript html5 electron

我有一个我创建的表让我们称之为RPT_ACCOUNTS

CODE |说明| TYPE 01 |银行| BA 02 | TAX | TA

当我从数据表中提取信息时,我会在html中以可视方式创建表格

row.dataset.rpt_accounts_code= DBRow.CODE;
row.dataset.rpt_accounts_description= DBRow.DESCRIPTION;
row.dataset.rpt_accounts_type= DBRow.TYPE;

所以现在我有了3个数据集。

现在我想过滤,所以我可以通过for循环。 (这是我的问题)

如果我使用

var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"]');

IT工作!

但现在我需要两个搜索值

所以我读了一遍,看到它得到了","但它不起作用。我尝试了很多组合

var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"],tr[data-rpt_accounts_type="' + searchvalue2 + '"]');

var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"],[data-rpt_accounts_type="' + searchvalue2 + '"]');

var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"]','tr[data-rpt_accounts_type="' + searchvalue2 + '"]');

上述方法中的任何一种方法都会通过,但它会提取所有数据,而不仅仅是我正在寻找的行。

任何帮助都会很棒。

的jsfiddle

https://jsfiddle.net/custardcs/q8a6uysg/5/

1 个答案:

答案 0 :(得分:1)

如果您想查询多个属性,请将其表达为el[propA=val][propB=val],因此,在您的情况下

var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"][data-rpt_accounts_type="' + searchvalue2 + '"]')