javascript - 过滤/查找 .eq() 两个不同值的元素
问题描述
我正在尝试过滤一个表行,该行在一列中具有一个值,而在另一列中具有不同的值。所以逻辑是,如果该列的一行有value1和value2,则隐藏所有其他行。如果没有 value1 和 value2 隐藏所有。
以下是我已经用jquery尝试过的
var firstDropVal = $('#first .fstselected').text(); //first DropDown Value
var secondDropVal = $('#second .fstselected').text(); // second DropDown Value
// .rows is the class of my table tr
var $rowsNo = $('.rows').filter(function() {
return $.trim($(this).find('td:visible').eq(0 && 1).text()) !== firstDropVal && secondDropVal
}).hide();
我的表格的 HTML 代码
while($row = mysqli_fetch_array($result)) {
$i++;
echo "
<tr class='rows' id='rows".$i."'>
<td name='rows".$i."' id='hersteller".$i."' class='text-left'>".$row['Hersteller']."</td>
<td id='artikel".$i."' class='text-left'>".$row['Artikel']."</td>
<td id='mase".$i."' class='text-left'>".$row['Mase']."</td>
<td id='stuecke".$i."' class='text-left'>".$row['Stuecke']."</td>
<td id='herstellerkurz".$i."' class='text-left'>".$row['HerstellerKurz']."</td>
<td id='masekurz".$i."' class='text-left'>".$row['MaseKurz']."</td>
<td id='farbekurz".$i."' class='text-left'>".$row['FarbeKurz']."</td>
<td id='artikelnummer".$i."' class='text-left'>".$row['Artikelnummer']."</td>
</tr>
"; ```
解决方案
这些与您尝试使用它们的方式不同
.eq(0 && 1)
firstDropVal && secondDropVal
由于运算符优先级:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
您需要 4 个单独的测试(还有其他方法,但这基本上就是您正在做的)
return
$.trim($(this).find('td:visible').eq(0).text()) === firstDropVal
|| $.trim($(this).find('td:visible').eq(1).text()) === secondDropVal
|| $.trim($(this).find('td:visible').eq(0).text()) === firstDropVal
|| $.trim($(this).find('td:visible').eq(1).text()) === secondDropVal
推荐阅读
- python - Pandas 如何根据所有行的值、应用于整个数据框的特定列值向数据框添加新列
- python - 如何根据用户对下拉列表的响应定义使用哪个文件?
- reactjs - 我应该在哪里调用 setintreval 反应
- c# - PostAsync 语句导致测试完成不确定
- java - Hibernate Criteria - 投影中的多种实体类型
- c# - Azure Web 应用程序和 Azure VM 上的 Windows 窗体应用程序之间的通信
- python - 这是 Python 中通常使用的/一种好的做法吗?
- python - 为什么站点匹配查询不存在?
- javascript - 如何在完整日历中选择全年的工作日或周末?
- jquery - Rails 设置 cookie 作为响应,但标头会丢失