excelTableFilter:https://www.jqueryscript.net/table/Excel-like-Bootstrap-Table-Sorting-Filtering-Plugin.html
django_tables2:https://github.com/jieter/django-tables2
excelTableFilter使HTML表格像excel一样更具搜索/过滤器/可排序性,django_tables2使您可以更好地控制表格的呈现方式。
但是excelTableFilter中的过滤器按钮在移动设备上很大,几乎无法调整大小。我的目标是用excelTableFilter的弹出菜单替换django_tables2的a-z,z-a sortng默认值。
经过2-3小时的挖掘,这是我的解决方案:
(我想获得反馈/减少一些棘手的解决方案)
答案 0 :(得分:0)
JS:
首先,我将excelTableFilter应用于目标表:
<script>
$('#workorder_table').excelTableFilter();
</script>
接下来,我删除了所有图标标签:
<script>
$('.glyphicon').removeClass('glyphicon-arrow-down')
$('.glyphicon').removeClass('dropdown-filter-icon')
$('.glyphicon').addClass('glyphicon-filter');
</script>
然后,我编写了一个函数来拦截类'click_redirect'上的所有点击,并将它们重定向到树中的'arrow-down'类元素
<script>
$(document).on('click', '.click_redirect', function(event) {
event.stopPropagation();
$(event.target).parent().find('.arrow-down')[0].click();
});
</script>
接下来,我将该类应用于所有标头,并用#
替换其排序网址<script>
function update_djheaders(param) {
param.setAttribute("class", "click_redirect");
param.setAttribute("href", "#");
};
$.each($("th.orderable a"), function(i,l) {update_djheaders(l)});
</script>
CSS:
最后,我应用以下CSS隐藏图标
<style>
.arrow-down {
display:none !important;
}
</style>
希望这可以节省您所有的时间!