如何在清除过滤器之后通过点击“;清除“;按钮
how to refresh a datatables table after clearing the filter by clicking on a "clear" button
我已经将dataTables过滤器输入修改为Jquery Mobile搜索过滤器,该过滤器还包含一个删除按钮,以清除输入字段。
这只起到一半的作用,因为当我单击删除时,输入字段会清除,但表不会更新。
因此,我正在寻找一些提示,说明在_fnFeatureHtmlFilter函数内单击自定义删除按钮时如何刷新表?
下面的代码显示了我如何设置JQM搜索。不过,不要认为这对回答问题有帮助。。。
/* jqm search input */
sSearchStr = oSettings.oInit.bJQueryMobileUI == true ? '<input placeholder="Filtern" data-type="search" data-theme="'+DataTable.ext.oJQMthemes.wrapperTheme+'" />' :
( (sSearchStr.indexOf('_INPUT_') !== -1) ?
sSearchStr.replace('_INPUT_', '<input type="text" />') :
sSearchStr==="" ? '<input type="text" />' : sSearchStr+' <input type="text" />' );
var nFilter = document.createElement( 'div' );
/* jqm wrapper classes */
nFilter.className = oSettings.oInit.bJQueryMobileUI == true ? "ui-block-c "+oSettings.oClasses.sFilter : oSettings.oClasses.sFilter;
oSettings.oInit.bJQueryMobileUI == true ? $(nFilter).html(sSearchStr) : $(nFilter).html('<label>'+sSearchStr+'</label>');
谢谢你的建议!
找到了一个解决方案:
$('.dataTables_filter .ui-input-clear').live('click', function(e) {
jqFilter.val("");
jqFilter.trigger('keyup.DT');
});
这绑定到清除按钮。因此,当点击它时,我会手动将输入值设置为",因为JQM清除按钮似乎并没有真正清除输入本身。
当我的输入被清除时,我会在输入上触发一个按键。这将触发普通的dataTables rountine,它将触发fnFilter函数,因为现在jqFilter.value与以前的搜索项不匹配。因为jqFilter为空fnFilter将再次显示整个表。
也许对其他人也有用。
您可以通过要求DataTables API搜索空字符串以编程方式清除过滤器:
$('#myTable').dataTable().fnFilter('');
或者如果你已经有一个对象引用:
oMyTable.fnFilter('');
相关文章:
- 清除按钮提交后的文本区域
- HTML5画布创建“清除画布”按钮的正确方法
- 清除按钮不适用于我的javascript和hmtl5画布
- 输入文本区域的清除按钮
- 如何使用javascript刷新我的html页面时清除按钮单击
- 单击按钮清除推送通知
- jQuery移动列表过滤:如何更改清除按钮文本
- 计算器清除按钮
- 为什么清除按钮不从购物车中删除价格
- JavaScript计算器问题与清除按钮
- 在输入框中输入数据时显示清除按钮.当输入没有聚焦且输入框中没有数据时,隐藏清除按钮
- 清除按钮点击时的jQuery验证
- 文本区域应该得到复制到另一个文本区域和原始文本区域应该清除按钮点击使用javascript
- 文本从一个文本区域应该得到复制到另一个文本区域和原始文本区域应该清除按钮点击使用javascript
- 随时日期选择器添加一个清除按钮
- 如何在单个文本框中添加多个联系号码,以及使用javascript添加的每个文本的X(清除)按钮
- 如何刷新过滤搜索时的“清除”按钮;在文本的边缘点击
- 当试图清除按钮输入时,Form.elements.filter不是一个函数
- 隐藏'清除'按钮,直到'按钮点击
- 如何使用jquery为每个值动态添加清除按钮