Datatables для ответа на стороне сервера с пользовательским поиском

Я использовал gem 'jquery-datatables-rails' .

Мы используем его для ответа на стороне сервера. Мы используем railscast #340 для таблиц данных.

Инициализация данных как

jQuery ->
  $('#products').dataTable
    sPaginationType: "full_numbers"
    bJQueryUI: true
    bProcessing: true
    bServerSide: true
    sAjaxSource: $('#products').data('source')

Он работает нормально с листингом.

У нас есть пользовательская функция поиска для таблицы. Мы не используем метод поиска в datatable.

Мы публикуем данные для поиска новым методом и пытаемся перерисовать таблицу. Но это ничего не делает.

Как мы можем показать результаты в datatable?

Любая помощь приветствуется.

Спасибо

РЕДАКТИРОВАТЬ

У нас есть страница со списком, где добавляются обычные данные для перечисления с ответом на стороне сервера.

Форма поиска помещается в таблицу данных, как это

Форма поиска

<form action="search_path" method="post" id="search_token_form" data-remote="true">
<input type="textbox"  name="name"/>
<select name="type">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select> 
<input type="textbox" name="date">
<input type="submit">
</form>

Таблица данных

<table id="products">
<thead>
 <tr>
  <th>Name</th>
  <th>Type</th>
  <th>Date</th>
 </tr>
</thead>

<tbody></tbody>
</table>

Мы публикуем форму поиска для другого действия в рельсах и собираем данные результатов.

Как мы можем заменить данные, найденные из действия в списке данных?

Javascript

$(document).on("submit", "#search_token_form", function(e){

        e.preventDefault();
        var key1 = $("#_email_or_name").val();
        var key2 = $("#_token_type").val();
        var key3 = $("#_look_up_token").val();
        var key4 = $("#_check_date").val();
        var key5 = $("#_date_range").val();
        var key6 = $("#_check_date_range").val();
        var key7 = $("#_from_date").val();
        var key8 = $("#_to_date").val();

        var data_params = {
            "sEcho": 1,
                "email_or_name": key1,
                "token_type": key2,
                "look_up_token": key3,
                "check_date": key4,
                "date_range": key5,
                "check_date_range": key6,
                "from_date": key7,
                "to_date": key8,
                "format": "json"

        }

        $("#search_params").val(data_params);

        $.ajax({
            url: '/tokens/search_token_result',
            method: 'post',
            dataType: 'JSON',
            async: false,
            data:data_params,
            success: function (data){
                table.fnClearTable();
                table.fnAddData(data.aaData);
                table.fnDraw();

//                for(i=0; i < data.aaData.length; i++){
//                    new_table.fnUpdate( data.aaData[i], i );
//                }
////                return false;

            },
            failure: function (msg) {
                console.log("Error in sending the data");
            }
        });

Это скрипт, в котором мы выполняем ajax-вызов для получения входных значений и получения результатов.

Но проблема после обновления reocrds. Он повторно инициализирует данные, как и раньше. Это означает, что данные потеряют наши результаты поиска.

Как я могу решить это?

0 ответов

Другие вопросы по тегам