使用Bootstrap Table插件,如何在首次加载时设置搜索字符串?

使用Bootstrap Table插件( http://bootstrap-table.wenzhixin.net.cn/documentation/ )如何在第一次加载表时设置搜索字符串?

仅存在“数据搜索”属性以启用搜索输入,但这不会对其进行定值。

我找了一个“数据搜索文本”属性,但我找不到它。

不支持数据属性,但仅支持JavaScript

bootstrapTable({ formatSearch: function () { return 'search string'; } }); 

这个更好的解决方案是:

 var srch_str = 'your search string'; var bstable_first_load = true; table.on('post-body.bs.table', function () {//when the table is loaded the first time and visible in the DOM, set the search string... if(srch_str.length > 0 && bstable_first_load){$('.fixed-table-toolbar').find('.search > :input').val(srch_str);bstable_first_load = false}; }); 

我也需要这样的行为。 我的第一次尝试是使用具有固定超时的bootstrapTable('resetSearch', 'my-query') ; 遗憾的是,这产生了两个请求(如果第一个查询发送给客户端,则会有额外的回流),因此它是次优的。

过了一会儿,我发现目标可以明智地修改查询参数(即仅针对第一个请求):

 var start_query = '20'; $('#table').bootstrapTable({ queryParams: function(params){ if(start_query){ $('.bootstrap-table').find('.search input').val(start_query) params['search'] = start_query start_query = null } return params } }); 

有趣的是, $input.val()调用不会触发任何额外的回调,因此上面的代码只使用一个查询/请求。

请在此处查看工作演示: http : //jsfiddle.net/e3nk137y/15364/

编辑:执行此类行为的首选方法可能应该使用searchText选项; 遗憾的是,它也发出了两个请求。 我在bootstrap-table repo中创建了一个问题。

编辑2:针对searchText两个请求行为的补丁已合并到Bootstrap Table插件的开发分支中,并且应该是下一个版本的一部分。