2015-01-19 5 views
1

С плагином Bootstrap Table (http://bootstrap-table.wenzhixin.net.cn/documentation/) как установить строку поиска, когда таблица загружена в первый раз?с плагином Bootstrap Table, как установить строку поиска при первой загрузке?

Используется только для атрибута «поиск данных», чтобы включить поиск, но это не оценивает его.

Я искал атрибут «data-search-text», но я его не нашел.

+0

Почему не устанавливать значение и запускать событие с jquery при загрузке/$ (функция? – atmd

+0

из-за разметки html, жестко закодированной в плагине. Я не могу получить доступ к элементу ввода, созданному во время выполнения. – Max

ответ

0

Там не поддержка атрибутов данных, но только с помощью JavaScript

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

этот набор кодов только начальное значение по умолчанию, но любое изменение на входе будет сброшено – Max

0

Лучшее решение это:

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}; 
}); 
0

я тоже нужно такое поведение. Мои первые попытки заключались в использовании bootstrapTable('resetSearch', 'my-query') с фиксированным таймаутом; к сожалению, это давало два запроса (и дополнительные пересчеты, если первый запрос сделал это клиенту), поэтому он был не оптимальным.

Через некоторое время я обнаружил, что цель может быть достигнута модификации запроса Params разумно (то есть только для первого запроса):

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/

Edit: Предпочтительный способ сделать реализовать такое поведение, вероятно, следует использовать searchText вариант; к сожалению, он также выдает два запроса. Я создал проблему в bootstrap-table repo.

Редактировать 2: Патч для поведения с двумя запросами searchText был merged в ветку разработки плагина Bootstrap Table и должен быть частью следующей версии.