Добавление кнопок в таблицы данных jquery, которые будут соответствовать идентификатору данных строки - PullRequest
0 голосов
/ 29 августа 2018

ОК, я использую таблицы данных jQuery

У меня есть

$(document).ready(function() {
    $('#companylist').DataTable( {
       dom: "Bfrtip",
        ajax: {
        url: 'data/companylist-ajax.php',
        dataSrc: '',
    },
    aLengthMenu: [[10, 25, 50], [10, 25, 50]],
   bPaginate:true,
   scrollX: "100%",
   order: [[ 0, "desc" ]],
   scrollCollapse: true,
        "columns": [
            { "data": "company_id" },
            { "data": "regoffice_city" },
            { "data": "regoffice_country" },
            { "data": "is_customer" },
            { "data": "is_supplier" },
            {"data": null,
            "defaultContent": "<a href=' + data[0] +'><i class=\"fa fa-fw fa-times\" style=\"color:red\"></i>Delete</button>",
            "targets": -1
          }
        ]
    } );
} );

Я пытаюсь сделать так, чтобы кнопка href содержала company_id для строки отображаемых данных. Однако все, что он отображает, это localhost / + data [0] + в URL Я пробовал company_id и другие вещи, о которых могу думать, но ничего не работает

1 Ответ

0 голосов
/ 29 августа 2018

defaultContent принимает только строку и не знает данных в строке.

Чтобы достичь того, что вам нужно, используйте render(). Это берет функцию, которая принимает данные текущей строки и возвращает строку HTML, которая будет отображаться в этом столбце. Попробуйте это:

{
  data: null,
  render: function(data) {
    return '<a href="' + data[0] + '"><i class="fa fa-fw fa-times" style="color: red"></i>Delete</button>';
  }  
  targets: -1
}

Также обратите внимание, что я исправил кавычки, поэтому вам не нужно экранировать внутреннюю ".

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