Как я могу установить содержимое по умолчанию моей ячейки jQuery DataTable в виде кнопки с возможностью нажатия?

#javascript #jquery #object #datatables

#javascript #jquery #объект #таблицы данных

Вопрос:

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

До сих пор мне удавалось превратить данные внутри ячейки в ссылку, но я не смог превратить всю ячейку в ссылку.

 "render": function (data, type, row, meta) {
          var link = "{{output.content}}";
          var type = typeof data;
          if(type == "object"){
            if(Array.isArray(data)){
              data.forEach(function(obj) {
                if (obj.hasOwnProperty("category")) {
                  data.sort((a,b) => Number(a.category.id) - Number(b.category.id));
                }
              })
              return (data.map(obj => obj.category ? `<div style="border-color:${obj.category.color}" class="circle"></div> ${obj.name}` : ` <a href="` content `">This is my link</a>${obj.name}`)).join('<br>');
            }else {
              if(data){
                return data.name;
              } else {
                return '';
              }
            }
          } else {
            if(String(data).indexOf('#') == 0) {
              return '<div style="border-color:'  data  '" class="circle"></div>';
            } else {
              return data;
            }
          }
        },
        "targets": "_all"
  

Ответ №1:

 Try this. Just replace the button with a link.

 $(document).ready(function() {
   var table = $('#example').DataTable( {
    "ajax": "data/arrays.txt",
    "columnDefs": [ {
        "targets": -1,
        "data": null,
        "defaultContent": "<button>Click!</button>"
    } ]
    } );

     $('#example tbody').on( 'click', 'button', function () {
      var data = table.row( $(this).parents('tr') ).data();
      alert( data[0]  "'s salary is: "  data[ 5 ] );
    } );
} );


HTML
=============

<table id="example" class="display" style="width:100%">
    <thead>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Extn.</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Extn.</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </tfoot>
   </table>
  

Комментарии:

1. Если вы хотите преобразовать всю ячейку в ссылку, добавьте пользовательское событие щелчка, найдите дочерний элемент и запустите щелчок