我有一个我创建的表让我们称之为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
答案 0 :(得分:1)
如果您想查询多个属性,请将其表达为el[propA=val][propB=val]
,因此,在您的情况下
var ROWS= RPT_ACCOUNTS.querySelectorAll('tr[data-rpt_accounts_code="' + searchvalue + '"][data-rpt_accounts_type="' + searchvalue2 + '"]')