Извлечение данных из строки в DataTable

#jquery #html #datatables

#jquery #HTML #таблицы данных

Вопрос:

Я создал Datatable динамически. Я столкнулся с проблемой при извлечении данных из DataTable. По сути, я хочу, чтобы мой вывод был таким, чтобы, если я щелкну любую строку в DataTable. Я хочу, чтобы были выбраны полные данные в этой строке и отображались данные этой строки на следующей странице.

Моя функция Java Script:

 <div id="div3">
<table id="tbl" class="dis" style="font-size: 12px; height: 50px;"
width="100%">
<tbody>
<tr id="t1">
<th></th>
<th>Id</th>
<th>Name</th>
<th>Type</th>
<th>Attrib. Set Name</th>
<th>SKU</th>
<th>Price</th>

<th>Qty</th>
<th>Visibility</th>
<th>Status</th>
<th>Websites</th>
<th>Action</th>
</tr>
</tbody>
</table>
</div>
  

DataTable заканчивается

И моя функция Java Script будет выглядеть следующим образом :

 function manageProducts() {
    $.ajax({
    url : "json/managePro.json",
    dataType : "json", 
    type : "post", 
    success : function(data) 
    {
    var len = data.data.length; // to find length
    var str = "";
    for ( var i = 0; i < len; i  ) {
    // To Display The values in Datatable
    str  = "<tr align = center>"   
    "<td>"   
    "<input type="  data.data[i].check   ">"   
    "</td>"   
    "<td>"  data.data[i].id   "</td>"   "<td>"
      data.data[i].name   "</td>"   "<td>"
      data.data[i].type   "</td>"   "<td>"
      data.data[i].attribute   "</td>"   "<td>"
      data.data[i].sku   "</td>"   "<td>"
      data.data[i].price   "</td>"   "<td>"
      data.data[i].quantity   "</td>"   "<td>"
      data.data[i].visibility   "</td>"   "<td>"
      data.data[i].status   "</td>"   "<td>"
      data.data[i].websites   "</td>"   "<td>"
      "<A href='new_product.jsp'>"   data.data[i].action
      "</A>"   "</td>"   "</tr>";
    }
    $(str).appendTo('#tbl');

    $("#tbl").dataTable({
    "iDisplayLength" : 50,
    "bAutoWidth" : true,
    "sDom" : '<"top"l>rt<"bottom"ip><"clear">',
    "bSortCellsTop" : true

}).columnFilter(
{
: "head:after",
aoColumns : [
{type : "select",values : [ "yes", "No", "Any" ]},
{type : "number-range"},
{type : "text"},
{type : "select",values : [ "Simple", "Grouped"]},
{type : "select",values : ["Electronics", "Jewellery"]},
{type : "text"},
{type : "number-range"},
{type : "number-range"},
{type : "select",values : [ "Catalog", "Search"]}, 
{type : "select",values : [ "enabled", "disabled" ]}, 
{type : "select",values : [ "Main Website" ]}, 
]
});
},
error : function(data) 
{
alert("error");
}
});
}
  

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

Ответ №1:

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

   { "stitle": "F", "sWidth": "15px", "aTargets": [5],
    "sDefaultContent": '<a href="#" class="editor_edit">Edit</a>' }
  

Затем я перехватываю событие следующим образом:

 "fnDrawCallback": function( oSettings ) {
   oTable.$('a.editor_edit').click( function(event) {
   event.preventDefault();
   var myTD = this.parentNode;
   var myRow = myTD.parentNode;
   var myID = oTable.fnGetData( myRow )[0];
   var myDataItem1 = oTable.fnGetData( myRow )[1];
   console.log('Picked: Edit ' myDataItem1);
});      

    }
  

Я надеюсь, что это поможет.