Получить идентификатор из таблицы данных - PullRequest
0 голосов
/ 03 июля 2018

может быть, простой вопрос для всех вас, но я довольно плохо знаком с JavaScript / jQuery и с тем, как работают вызовы AJAX, поэтому мне нужна небольшая помощь.

В данный момент я перестраиваю свои таблицы DataTable-таблиц, чтобы использовать обработку на нескольких сторонах, потому что они растут очень большими и благодаря этому становятся очень медленными. Я уже потратил немало времени, чтобы понять, как работает ajaxcall и т. Д., Но есть одна проблема, которую я не могу решить: я не могу получить идентификатор из DataTables, с которой я работаю.

Это моя HTML-часть:

<table id="tbl_user" class="table table-hover display ajaxTable" width="100%;" cellspacing="0">
  <thead>
    <tr>
      <th>ID</th>
      <th>Name</th>
      <th>Kostenstelle</th>
      <th>Status</th>
      <th>Aktionen</th>
    </tr>
  </thead>
</table>

Это мой javascrip / jQuery-Part:

$('.ajaxTable').DataTable({
  processing: true,
  serverSide: true,
  ajax: {
    type: "POST",
    dataType: 'json',
    url: 'ajaxcall.php',
    data: function(params) {
      var query = {
        ajaxcall: 'getSelectDataTable',
        controlName: $(this).attr("id"),
        length: 14,
        draw: params['draw'],
        start: params['start'],
        search: params['search']['value'],
        columns: params['columns'],
        order: params['order']
      }
      return query;
    }
  },
  columns: [
    {"data": "user_id"},
    {"data": "user_name"},
    {"data": "user_kostenstelle"},
    {"data": "user_status"},
    {"data": "aktionen"}
  ]
});

Я думал, что могу легко получить идентификатор с помощью $ (this) .attr ("id"), но я ошибся. У кого-нибудь есть предложение?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

$('.ajaxTable').DataTable().data().each(function (d){
    console.log(d)
});
0 голосов
/ 03 июля 2018

Вам нужно будет перебрать все ваши таблицы с классом .ajaxTable, чтобы получить их конкретные id:

$('.ajaxTable').each(function() { //Loop over your tables
  let that = this;                //Store your current table
  $(that).DataTable({
    processing: true,
    serverSide: true,
    ajax: {
      type: "POST",
      dataType: 'json',
      url: 'ajaxcall.php',
      data: function(params) {
        var query = {
          ajaxcall: 'getSelectDataTable',
          controlName: $(that).attr("id"), //Reuse your current table
          length: 14,
          draw: params['draw'],
          start: params['start'],
          search: params['search']['value'],
          columns: params['columns'],
          order: params['order']
        }
        return query;
      }
    },
    columns: [{
        "data": "user_id"
      },
      {
        "data": "user_name"
      },
      {
        "data": "user_kostenstelle"
      },
      {
        "data": "user_status"
      },
      {
        "data": "aktionen"
      }
    ]
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...