gpt4 book ai didi

jquery - 具有自定义按钮文本和多列的外部过滤器

转载 作者:行者123 更新时间:2023-12-01 04:00:33 25 4
gpt4 key购买 nike

我正在使用 Tablesorter,并且想为我的用户添加一些快捷按钮,以帮助他们填写过滤器框。如果按此处所述使用,按钮可以正常工作:

这里:

我需要更改按钮的标签,即过滤与按钮标签不同的内容。我该如何添加这个?

另外:当按下不同的按钮时,如何启用多列过滤?现在,按下按钮时所有其他过滤器都会被删除

我使用外部按钮的按钮 jQuery 代码如下所示:

$('button').click(function(){
var $t = $(this),
col = $t.data('filter-column'), // zero-based index
filter = [];

filter[col] = $t.text(); // text to add to filter
$('#sorttable').trigger('search', [ filter ]);
return false;
});

我会使用添加一个过滤器

<button class="btn btn-sm btn-primary" data-filter-column="1">50 - 59</button>
<button class="btn btn-sm btn-primary" data-filter-column="0">DIV</button>

我想用其他内容替换“DIV”文本,同时仍然将实际读取“DIV”的过滤器应用到第 0 列,同时我不想删除“50 - 59”过滤器第一个按钮可能已添加到第 1 列。

最佳答案

您可以设置代码以通过一个按钮获取一个或多个查询 ( demo )

HTML

<button class="btn btn-sm btn-primary" data-filter-column="0,1" data-filter-query="abc,>50">Combo</button>

脚本

$(function() {

$('button').click(function() {
var i,
$t = $(this),
col = $t.attr('data-filter-column').split(/\s*,\s*/), // zero-based index
query = $t.attr('data-filter-query').split(/\s*,\s*/),
filter = [];

for (i = 0; i < col.length; i++) {
var n = parseInt(col[i], 10);
filter[n] = query[i]; // text to add to filter
}
$('#sorttable').trigger('search', [filter]);
return false;
});

$('#sorttable').tablesorter({
theme: 'blue',
widgets: ['zebra', 'filter']
});
});

或者,您可以使用内置方法来搜索一系列列 - 请参阅 this demo .

<小时/>

更新:尝试this demo每次单击按钮都会更新现有的过滤器。使用重置按钮清除所有内容

$(function() {

var $table = $('#sorttable');

$('button:not(.reset)').click(function() {
var i,
$t = $(this),
col = $t.data('filter-column'), // zero-based index
query = $t.attr('data-filter-query'),
// get the current filter values
filter = $.tablesorter.getFilters($table);
filter[col] = query; // text to add to filter
$table.trigger('search', [filter]);
return false;
});

$table.tablesorter({
theme: 'blue',
widgets: ['zebra', 'filter'],
widgetOptions: {
filter_reset: '.reset'
}
});
});

关于jquery - 具有自定义按钮文本和多列的外部过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com