dataTable, как извлечь элемент из не текущих страниц - PullRequest
0 голосов
/ 09 октября 2018

У меня есть таблица данных, в которой первый столбец содержит флажок для проверки идентификатора элемента.

<tbody>
  <tr role="row" class="odd">
    <td class="sorting_1">
      <input type="checkbox" value="2025" 
                class="checkElement n30" id="n30">
      <label for="n30">2025</label>
    </td>

  ...

Таблица данных состоит из 33 элементов на 4 страницах (10 на страницу)

Я хочу отфильтровать id всех отмеченных элементов, которыев таблице данных, которая включает также элементы, которые находятся на страницах, отличных от текущей.К сожалению, когда я использую jquery для получения свойства элемента, я могу взять только элементы на текущей странице, и если я использую свойство, проверенное из элемента документа, оно всегда возвращает false, как показано в следующем коде:

        dt = $('#Table').DataTable();

        info = dt.page.info();
        for(i=0;i<info.pages;i++)
          {
            console.log("pagina ("+(i+1)+"): ");
            pdt = dt.page(i).rows().data();
            pdt.rows().data().each(function(row, index){
               console.log("riga ("+(index+1)+"): ");
               $(row[0]).each(function(pos, elem) {
                  var isSelected = $("#"+elem.id).prop('checked');
                  if(pos == 0)                                                
                    console.log(">> "+elem+": "+elem.checked+" / "+isSelected);
               });
            });
         } // end for
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

Я пытаюсь выбрать только первые два элемента каждой страницы, но в консоли получается:

 pagina (1): 
   riga (1): 
          >> checkbox: false / true
   riga (2): 
          >> checkbox: false / true
 ...
   riga (9): 
          >> checkbox: false / false
   riga (10): 
          >> checkbox: false / false
   riga (11): 
          >> checkbox: false / undefined
   riga (12): 
          >> checkbox: false / undefined
   riga (13): 
          >> checkbox: false / undefined
 ...
   riga (28): 
          >> checkbox: false / undefined
   riga (29): 
          >> checkbox: false / undefined
   riga (30): 
          >> checkbox: false / undefined
   riga (31): 
          >> checkbox: false / undefined
   riga (32): 
          >> checkbox: false / undefined
   riga (33): 
          >> checkbox: false / undefined

На страницах 2,3, 4 там же журнал;Как я могу иметь только все проверенные элементы на целых страницах?Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 10 октября 2018

Если вы используете режим обработки на стороне клиента, вы можете получить доступ к элементам на других страницах, используя $() метод API.

Например:

var dt = $('#Table').DataTable();
console.log(dt.$('#checkbox-id').prop('checked'));

Если вы используете режим обработки на стороне сервера, как прокомментировал Sigma , это нелегко, потому что данные с других страниц не существуют в DOM.

Флажки jQuery DataTables поддерживает режим обработки на стороне сервера , посмотрите, хотите ли вы использовать его в своем проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...