我创建了一个表,我们将其命名为 RPT_ACCOUNTS
代码|描述|类型 01|银行|BA 02|税|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 + '"]');
它有效!
但现在我需要两个搜索值
所以我读了一下,发现它支持“,”,但它不起作用。我尝试了很多组合
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
最佳答案
如果您想查询多个属性,请像 el[propA=val][propB=val]
一样表达它们,所以,在您的情况下
var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"][data-rpt_accounts_type="' + searchvalue2 + '"]')
关于javascript - querySelectorAll 使用两个或多个数据集作为查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45638656/