jQuery jTable выбор строк

у меня есть jTable, и мне нужно выбрать все строки, чтобы позже я мог передать информацию AJAX и отправить данные контроллеру для обработки.

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

 $('#saveButton').click(function(){ 
        $('#UserTable').jtable("selectRows"); // I think here is the problem
        var $selectedRows = $('#smsUserTable').jtable('selectedRows');
        $selectedRows.each(function () {
            var record = $(this).data('record');
            var userId = record.userId;
            console.log(userId);
        });
      });

Я получаю сообщение об ошибке Uncaught TypeError: невозможно постоянно вызывать метод addClass неопределенной ошибки.

Возможно, я неправильно использую метод selectRows. Заранее спасибо.


person user2945241    schedule 01.11.2013    source источник
comment
Я не думаю, что этот код является проблемой, поскольку вы нигде не вызываете addClass. Эта ошибка обычно возникает, когда вы пытаетесь использовать функцию jQuery для собственного объекта DOM.   -  person Rory McCrossan    schedule 01.11.2013


Ответы (2)


Может это решение?

$('#UserTable .jtable-data-row').each(function () {
            $(this).addClass('jtable-row-selected');
            $(this).addClass('ui-state-highlight');
        });

Это выбирает все видимые строки в таблице.

person Omega_KZ    schedule 11.05.2014

Вы можете использовать приведенный ниже код, чтобы получить все данные записи таблицы в строке json:

/* Select all Records */
$('#your_table .jtable-data-row').each(function () {
    $(this).addClass('jtable-row-selected');
    $(this).addClass('ui-state-highlight');
});
/* Read each record and add it to json */
var $selectedRows = $('#your_table').jtable('selectedRows'),records = [];
$selectedRows.each(function () {
    var record = $(this).data('record');
    records.push(record);
});
var josn_data = JSON.stringify(records);
person Mahmood    schedule 02.01.2017