Javascript 使用引导表插件,如何在第一次加载时设置搜索字符串?

Javascript 使用引导表插件,如何在第一次加载时设置搜索字符串?,javascript,jquery,twitter-bootstrap,bootstrap-table,Javascript,Jquery,Twitter Bootstrap,Bootstrap Table,使用Bootstrap Table plugin()如何在第一次加载表时设置搜索字符串 只存在一个“数据搜索”属性来启用搜索输入,但这不会将其定值 我查找了“数据搜索文本”属性,但没有找到它。不支持数据属性,只支持通过JavaScript bootstrapTable({ formatSearch: function () { return 'search string'; } }); 更好的解决方案是: var srch_str = 'your search

使用Bootstrap Table plugin()如何在第一次加载表时设置搜索字符串

只存在一个“数据搜索”属性来启用搜索输入,但这不会将其定值


我查找了“数据搜索文本”属性,但没有找到它。

不支持数据属性,只支持通过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')
和固定超时;不幸的是,这会产生两个请求(如果第一个查询发送到客户端,则会产生额外的回流),因此这是次优的

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

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

请在此处查看工作演示:

编辑:实现这种行为的首选方法可能应该使用
searchText
选项;遗憾的是,它还提出了两项要求。我在中创建了一个问题


编辑2:searchText的两个请求行为的补丁已经进入Bootstrap表插件的开发分支,应该是下一版本的一部分。

为什么不设置值并在加载jquery时触发事件/$(功能?由于插件中硬编码的html标记,我无法轻松访问运行时创建的输入元素。此代码仅设置默认输入值,但将重置输入中的任何编辑。)
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
    }
});