我有下面的代码,它确实过滤了一个表,但是当没有结果时,它是空的。
有人能帮我在这里添加一个“找不到结果”的消息显示什么都没有找到吗?
null
$(document).ready(function() {
$("#table_search").on("keyup", function() {
var value = $(this).val().toLowerCase();
$("#filter tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
});
<table>
<tbody id="filter"></tbody>
</table>
null
首先,注意filter()
的使用不太正确。它用于根据函数参数中提供的谓词条件减少一组元素,函数参数返回一个布尔值。相反,您当前的逻辑正在使用它作为一种基本的循环机制。
对于此问题,可以使用filter()
通过文本查找匹配行,然后根据筛选的行数隐藏或显示“不匹配”消息。像这样的东西:
null
jQuery($ => {
let $rows = $('#filter tr');
let $tfoot = $('tfoot');
$("#table_search").on("input", function() {
var value = this.value.toLowerCase();
if (!value) {
$rows.show();
$tfoot.hide()
return;
}
let $filteredRows = $rows.filter((i, el) => el.innerText.toLowerCase().indexOf(value) != -1);
if ($filteredRows.length) {
$tfoot.hide();
$rows.hide();
$filteredRows.show()
} else {
$rows.hide();
$tfoot.show();
}
});
});
tfoot { display: none; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="table_search" />
<table>
<tbody id="filter">
<tr><td>Lorem</td></tr>
<tr><td>Ipsum</td></tr>
<tr><td>Dolor</td></tr>
<tr><td>Sit</td></tr>
<tr><td>Amet</td></tr>
<tr><td>Consectetur</td></tr>
<tr><td>Adipiscing</td></tr>
<tr><td>Elit</td></tr>
</tbody>
<tfoot>
<tr><td>No matches</td></tr>
</tfoot>
</table>
这一组数据在进行groupby前已经完成筛选,但进行groupby聚合后的结果显示是利用未筛选的数据进行的聚合,就像下面的结果,在groupby前已经完成点击量非0过滤,但最后仍存在含0的资源,询问chatGPT给的方案是可能用索引前的数据进行的聚合,重置索引后仍无法解决,请教大牛是否遇到过类似的问题,虽然可以在聚合后重新进行filter过滤,但这个问题搞得很焦灼 代码源文本
http://www.django-rest-framework.org/api-guide/filtering/#filtering-abs-query-parameters http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield
筛选向导让你方便为你的表网格创建及应用你指定的筛选条件。此外,它可让你保存筛选条件到一个设置文件供将来使用。在工具栏点击 筛选 来激活编辑器。 要添加一个新条件到准则,只需简单地点击 <添加>。 点击列框(核取钮旁)并选择一个表列。你可以从列表中选择 [附加筛选] 来手动输入准则。 点击运算符框(列框旁)并选择一个筛选运算符。 筛选运算符 结果 等 于 <?> 字段 = '值' 不等于 <?> 字
筛选向导让你快捷地为你的数据网格创建及应用指定的筛选条件。此外,它更可让你保存筛选条件到一个配置文件以备日后使用。在工具栏点击 “筛选”来启用筛选。 创建筛选 若要添加一个新的条件到准则,只需简单地点击 。如果你需要在括号内添加条件,点击 。 【提示】若要在现有的条件添加括号,只需简单地右击已选择的条件并选择“使用括号分组”。若要移除括号,请右击括号并选择“删除括号”或“删除括号和条件”。 点击字
筛选向导让你快捷地为你的数据网格创建及应用指定的筛选条件。此外,它更可让你保存筛选条件到一个配置文件以备日后使用。在工具栏点击 来启用筛选。 创建筛选 若要添加一个新的条件到准则,只需简单地点击 。如果你需要在括号内添加条件,点击 。 【提示】若要在现有的条件添加括号,只需简单地按住 Control 键并点按已选择的条件,然后选择“使用括号分组”。若要移除括号,请按住 Control 键并点按括号
筛选向导让你快捷地为你的数据网格创建及应用指定的筛选条件。此外,它更可让你保存筛选条件到一个配置文件以备日后使用。在工具栏点击 “筛选”来启用筛选。 创建筛选 若要添加一个新的条件到准则,只需简单地点击 。如果你需要在括号内添加条件,点击 。 【提示】若要在现有的条件添加括号,只需简单地右击已选择的条件并选择“使用括号分组”。若要移除括号,请右击括号并选择“删除括号”或“删除括号和条件”。 点击字
我尝试创建另一个FilterChainProxy bean,在其链列表中包含上述两个过滤器,并将该bean作为自定义过滤器添加到之前的名称空间配置中,过滤器似乎可以工作,但我的JSF导航中断了,特别是在commandLink中(我认为使用此FilterChainProxy时AJAX调用失败) 有没有人可以就如何将这两个过滤器和可能的其他过滤器添加到Spring Security过滤器链提出任何想法
我试图为一个问题找到一个解决方案,在这个问题上,我需要根据多个标准来细化结果。我有多个选择标准: 水果-苹果橙子葡萄 蔬菜-番茄土豆西兰花 坚果-核桃花生杏仁 谷物-玉米小麦大米 香料-肉桂姜椒 用户只能从每个组中选择一个标准,例如,您可以选择苹果,但不能选择橘子或葡萄。参见jsfiddle。 然后我有多个篮子,里面有不同的物品。 但问题是,这些结果必须基于多个标准进行精炼。例如,我选择了苹果,然