gpt4 book ai didi

jquery - 如何在tablesorter中配置服务器端过滤?

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

我正在使用tablesorter带有过滤器小部件的 jQuery 插件,我想将实际过滤卸载到服务器。我看到该小部件有一个 filter_serversideFiltering 选项,但我找不到任何有关如何设置它的文档或示例。

我假设我至少需要提供一个用于发送 AJAX 请求的 URL 和一个回调来处理响应,但过滤器小部件文档似乎没有解释在哪里或如何执行此操作。

(注意:我在这里没有使用寻呼机插件,只是使用过滤器小部件。如果服务器端调整依赖于寻呼机的 AJAX 设置,则这也没有记录。)

最佳答案

所有filter_serversideFiltering选项的作用是允许与分页器小部件/插件集成,并防止在内容不匹配时隐藏表中的任何行。

如果没有寻呼机小部件/插件,您将需要绑定(bind)到 filterEnd 事件并执行您自己的 ajax 调用。 Here is a demo使用 filltext.com 提供 JSON 数据,因此结果不会与过滤器匹配,但过滤后可以看到它更新。您可以查看控制台网络选项卡以查看正在使用的实际 URL。

HTML

<table class="tablesorter">
<thead>
<tr>
<th>#</th>
<th>ID</th>
<th>First</th>
<th>Last</th>
<th>State</th>
<th>Info</th>
</tr>
</thead>
<tbody></tbody>
</table>

脚本

$(function () {
var $table = $('table'),
lastSearch = [],
updateAjax = function (filters) {
$.getJSON('http://www.filltext.com/?callback=?', {

// add the current filters to be serialized
// into a URL query string
// commented out here or filltext.com returns nothing
// 'filter': filters

// the following parameters are needed for
// filltext.com to return content
'rows': 10,
'#': '{index}',
'ID': '{randomNumberLength|3}',
'First': '{firstName}',
'Last': '{lastName}',
'State': '{usState|abbr}',
'Info': '{lorem|3}'
})
.done(function (data) {
buildTable(data);
});
},
buildTable = function (data) {
if (data) {
var col, row, txt,
headers = ['#', 'ID', 'First', 'Last', 'State', 'Info'],
len = headers.length,
rows = '';
size = data.length;
for (row = 0; row < size; row++) {
rows += '<tr>';
for (col = 0; col < len; col++) {
txt = data[row][headers[col]];
rows += '<td>' + txt + '</td>';
}
rows += '</tr>';
}

$table.find('tbody')
.html(rows)
.trigger('update');
}
};

$table.on('filterEnd', function (e, c) {
// prevent ajax spamming
var ls = c.$table.data('lastSearch');
if (lastSearch.join('-') !== ls.join('-') ) {
lastSearch = ls;
updateAjax(lastSearch);
}
})
.tablesorter({
theme: 'blue',
widthFixed: true,
widgets: ['zebra', 'filter'],
widgetOptions: {
// prevents rows from getting hidden
filter_serversideFiltering: true
}
});

});

关于jquery - 如何在tablesorter中配置服务器端过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26006089/

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