2016-12-05 1 views
0

Es ist möglich, dies zu tun:hinzufügen „Daten-id“ zu <td> datatables.js

Die Daten, die ich eingeben möchte ich eine Methode aus einem Servlet mit json implementiert bekommen, die perfekt geht.

Das Problem ist, dass ich bis zum letzten eine Variable "Daten-id" hinzufügen möchten

$('#tbl_bienSeleccionado').DataTable({ 
      destroy: true, 
      "columnDefs": [ 
       {"className": "text-center", "targets": "_all"} 
      ], 
      "aaData": res.lista,     
      "columns": [ 
       {"data": "idbien"}, 
       {"data": "nombre"}, 
       {"data": "description"}, 
       {"data": "persona"}, 
       {"data": "ubicacion"}, 
       {"data": "estado"}, 
       {"data": "departamento"}, 
       {"data": "idbien", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {       
        $(nTd).html("<a href='javascript:;' class='btn btn-danger btn-circle remove' title='Agregar'><i class='fa fa-minus'></i></a>");  
       } 
      ] 
}); 

ich hinzufügen müssen: js Daten-id = 'res.lista.idbien' in td → führen html :

<td data-id='123" > 
    <a href="javascript:;" class="btn btn-primary btn-circle edit" title="Editar"> 
     <i class="fa fa-edit"></i> 
    </a> 
</td> 
+0

Haben Sie versucht, $ (NTD) .data ('id', '123')? – ichbinblau

Antwort

0
 $('#tbl_bienSeleccionado').DataTable({ 
      destroy: true, 
      "columnDefs": [ 
       {"className": "text-center", "targets": "_all"} 
      ], 
      "aaData": res.lista, 
      "columns": [ 
       {"data": "idbien"}, 
       {"data": "nombre"}, 
       {"data": "descripcion"}, 
       {"data": "persona"}, 
       {"data": "ubicacion"}, 
       {"data": "estado"}, 
       {"data": "departamento"}, 
       { 
        "data": null, 
        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { 
         $(nTd).html("<a href='javascript:;' class='btn btn-danger btn-circle remove' title='Quitar'><i class='fa fa-minus'></i></a></td>"); 
        }} 
      ], 
      createdRow: function (row, data, indice) { 

       $(row).find("td:eq(7)").attr('data-id', data.idbien); 
      } 
     }); 
0

Sie können so etwas versuchen. Es gibt eine Reihenrückruffunktion. Sie können einen HTML-Code in die 8. Spalte einfügen.

var edithtml = '<td data-id={id} >' + 
        '<a href="javascript:;" class="btn btn-primary btn-circle edit" title="Editar">' + 
     '<i class="fa fa-edit"></i>'+ 
    '</a>' + 
'</td>' 

$('#tbl_bienSeleccionado').DataTable({ 
      destroy: true, 
      "columnDefs": [ 
       {"className": "text-center", "targets": "_all"} 
      ], 
      "aaData": res.lista,     
      "columns": [ 
       {"data": "idbien"}, 
       {"data": "nombre"}, 
       {"data": "description"}, 
       {"data": "persona"}, 
       {"data": "ubicacion"}, 
       {"data": "estado"}, 
       {"data": "departamento"} 
      ], 
      "fnRowCallback": function (nRow, data) 
      { 
       var id = data[0]; // 1st column in single row array   
       var replacedEditHtml = edithtml.replace("{id}", id); 
       $("td:eq(8)", nRow).html(replacedEditHtml); //replace 8th column 
}); 
+0

Funktioniert nicht korrekt. –

+0

Was ist der Fehler, bekommen Sie? –

+0

Die Elemente jquery-datatables.js werden nicht angezeigt, wie die Suchleiste und die Dropdown-Liste der Elemente, die angezeigt werden sollen. Das heißt, eine einfache Tabelle erscheint. Und wenn ich eine Funktion hinzufügen, erscheint dieser Fehler: TypeError: col ist undefiniert. Danke –

Verwandte Themen