数据表过滤器+ stateSave

时间:2014-12-11 16:14:25

标签: javascript jquery datatable jquery-datatables

我有一个数据表,其中包含指向CRUD更新程序的链接。一旦用户提交更改,我将它们返回到表并使用stateSave: true选项来保持数据表的状态。这一切都有效。

我还有一个自定义过滤器框。当用户提交更改表时,会刷新并恢复到已保存状态,但是过滤器框不显示用户输入的过滤器,它只显示占位符。如何将过滤器变量重新加载到过滤器输入框中?

谢谢!

修改:JSFiddle Here

注意:1)运行JSFiddle并过滤某些内容。 2)再次运行JSFiddle,它应该加载你保存的状态。 3)请注意,输入仅在默认数据表过滤器中,而不在id="searchbox"

JavaScript(数据表):

<script>
    $(document).ready(function() {
        oTable = $('#dataTables').dataTable( {
        "sDom": '<"top"l>rt<"bottom"ip><"clear">', 
        fnDrawCallback : function() {
        $('#dataTables').highlight(['Empty']);
        },  
    stateSave: true
    });
    $('#searchbox').on("input", function() {
     oTable.fnFilter( $(this).val() );
    });
    $('#searchbtn').click(function(){
     oTable.fnFilter( $(searchbox).val() );
    });
    });
    </script>

HTML(输入组):

<div class="input-group">
        <input type="text" class="form-control pull-right" placeholder="Search" id="searchbox">
    <span class="input-group-btn">
        <button class="btn btn-default" id="searchbtn" type="button">Search</button>
    </span>
</div><!-- /input-group -->

修改 作为参考,我启用了默认的DOM过滤器元素,只是为了看看它在重新加载已保存状态时做了什么。过滤器仍在默认过滤器框中,但不在我的自定义过滤器框中。我需要将过滤器输入到顶部过滤器框中。

Custom filter (top), default filter (bottom)

0 个答案:

没有答案