当前位置: 首页 > 知识库问答 >
问题:

保存/还原数据表中的搜索值

荆城
2023-03-14

我正在使用带有多个搜索框的数据表,并且启用了stateSave。表确实会保存状态,但重新加载表时,搜索框不会保存。

例如,我有3个专栏...图书作者、书名和图书ISBN。我有一个搜索框为每一列更大的搜索能力。如果我在author中搜索“Mark”,所有在author中带有名称Mark的结果都会出现,这与预期的一样。刷新页面,或执行任何其他将强制重新加载表的操作(如添加一本书),将显示保存的搜索结果,但搜索框为空。要使所有的项目重新出现,我需要到图书作者搜索框并按退格键。

所以...如何保存searchByAuthor文本框的状态?

或者...我如何获得搜索的值,以及它被用在什么列上?如果我能得到它,我就可以重新填充正确的搜索框。

共有1个答案

景远航
2023-03-14

首先,看看这个插件的作者在论坛上发的帖子,他说

这在意料之中。过滤输入不是DataTables所了解的--您可以从这些输入调用column().search()方法,但它可能来自任何地方),因此它没有(也不能)将值重新插入到输入中的能力。

不过,他也提供了一个解决方案,即使用state.loaded()API调用获取保存状态的值,从那里您可以获得列搜索框中的值。这样做的方法如下(这里有一个指向state.loaded()文档的链接,此示例来自于此文档):

$(document).on( 'init.dt', function ( e, settings ) {
    var api = new $.fn.dataTable.Api( settings );
    var state = api.state.loaded();
    var searchText = state.columns[/*columnNumber*/].search;
} );

然后,可以从那里使用searchtext重新填充字段中的值。有关可以从state变量获取哪些数据的详细信息,请查看到state()文档的链接。

查看那些链接如果有什么不清楚的,我解释的大部分内容都是直接从他们那里获得的,并且将会有更详细的解释。

 类似资料:
  • Elasty/Lucene真的需要在文档中存储所有索引数据吗?您是否可以通过它传递数据,以便Lucene可以将单词索引到它的哈希表中,并为每个文档提供一个单独的字段,该字段具有返回每个文档来自哪里的URL(或任何对您有意义的指针)?

  • 问题内容: 我目前正在尝试完成一个项目,其中的规范是使用搜索表单来搜索包装数据库。该数据库具有许多变量,包括大小,名称,类型和肉类。我需要创建一个搜索表单,用户可以在其中使用多种不同的搜索进行搜索(例如搜索50厘米长的盖子托盘)。 我花了整整一天的时间来尝试创建一些PHP代码,这些代码可以在我创建的测试数据库中搜索信息。我遇到了许多错误,从mysql_fetch_array错误,布尔错误到现在,我

  • 我通过在JTextField中获取用户的输入创建了一个JList。然后,我将jList转换为String,将jList保存到Mysql数据库,因为我希望将jList项保存在单行中作为单个条目。 向JList添加用户输入的代码: 但是在使用此代码时,Jtable并不显示任何值,尽管它使用表头名称。请任何人可以检查我正确在如何搜索中保存在MySQL数据库的字符串。我认为问题是存在的,因为其他事情都很好

  • 我想在Firebase中根据Firebase本地服务器时间和日期保存数据,而不是本地系统日期,如果用户的移动电话日期错误,则可能是错误的。然后我想通过像SQL查询一样应用日期查询(给我两个日期之间的数据并添加特定的colmn)来检索它。我如何在使用Java的安卓系统中做到这一点呢?

  • 问题内容: 我正在编写自动化脚本(/ )。他们中的许多人都受益于一些基本的终端GUI。我想我会使用标准序列进行基本绘图。在绘制终端之前,我会这样做,但是这样做会丢失一些终端命令历史记录。我希望能够在程序存在时还原终端命令历史记录。许多终端程序(例如,,,,,,等)这样做。所有这些都还原了终端窗口,从而使用户返回到先前执行过的所有命令历史的调用程序之前的位置。 老实说,我什至不知道从哪里开始搜索。是

  • 通过在搜索栏输入搜索条件,您可以在匹配当前索引模式的索引中进行搜索。您可以进行简单的文本查询,或使用 Lucene 语法,或使用基于 JSON 的 Elasticsearch 查询 DSL 。 提交一次搜索请求后,直方图、文档列表、字段列表会按新的搜索结果来展示。工具栏上会展示命中的文档数量。文档列表会展示前5条命中的文档。默认情况下,文档列表会按时间倒序进行排列,最新的文档显示在最上面。您可以点