![](/img/trans.png)
[英]How to get the Hidden column value from Jquery DataTable 1.10.12
[英]Get the values from jQuery Datatable hidden columns
我有一個 jQuery 數據表,其中填充了來自 db' 表的信息,我隱藏了兩列,現在我需要從這兩個隱藏列中獲取值,但我不能,這是我的數據表的代碼並設置了屬性可見:最后兩列為假
$('#myTable').DataTable({
searching: false,
paging: true,
responsive: true,
ordering: false,
bInfo: false,
bLengthChange: false,
processing: true,
info: false,
deferRender: true,
orderMulti: false,
"ajax": {
"url": "../home/CargarTabla?id=" + noDocumento,
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "nombres", "autoWidth": true, "orderable": false },
{ "data": "apellidos", "autoWidth": true, "orderable": false },
{ "data": "dui", "autoWidth": true, "orderable": false },
{ "data": "numero_isss", "autoWidth": true, "orderable": false },
{ "data": "cargo_participante", "autoWidth": true, "orderable": false },
{ "data": "genero", "autoWidth": true, "orderable": false, "visible": false },
{ "data": "nivel_puesto", "autoWidth": true, "orderable": false, "visible": false },
{ "defaultContent": " <a href='#' id='select'>Modificar</a> ", "autoWidth": true, "orderable": false }
],
"oLanguage": {
"sEmptyTable": "No hay registros disponibles",
"sInfo": " _TOTAL_ registros. Mostrando de (_START_ a _END_)",
"sLoadingRecords": "Por favor espera - Cargando...",
"sSearch": "Filtro:",
"sLengthMenu": "Mostrar _MENU_",
"oPaginate": {
"sLast": "Última página",
"sFirst": "Primera",
"sNext": "Siguiente",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
}
}
});
這是我從用戶可見的列中獲取值的方式,它工作得很好:
$("#myTable").on('click', '#select', function (e) {
e.preventDefault();
var currentRow = $(this).closest("tr");
var Nombres = currentRow.find("td:eq(0)").text();
var Apellidos = currentRow.find("td:eq(1)").text();
var DUI = currentRow.find("td:eq(2)").text();
var ISSS = currentRow.find("td:eq(3)").text();
var Cargo = currentRow.find("td:eq(4)").text();
alert(Nombres + Apellidos + DUI +ISSS+ Cargo);
});
但是我如何從隱藏列中獲取值呢? 我在$("#myTable").on('click', '#select', function (e)
中試過這個但沒有成功
alert(table.row(this).data()[5]);
alert(table.row(this).data()[6]);
其他方式沒有成功
var row = $(this).parents("td")[0];
var pos = oTable.fnGetPosition(row);
var Genero = oTable.fnGetData(pos[5])["idGenero"];
最后
var arr = $('#myTable').dataTable().fnGetData($(currentRow));
var Genero = arr[5];
var Nivel = arr[6];
你能幫我用顯示的腳本代碼從隱藏列中獲取值嗎? 順便說一句,這是 HTML 代碼
<div class="table-responsive">
<table class="table table-striped table-condensed" id="myTable" style="width:100%; margin:0 auto;">
<thead>
<tr>
<th>Nombres</th>
<th>Apellidos</th>
<th>DUI</th>
<th>ISSS</th>
<th>Cargo</th>
<th>Sexo</th>
<th>Nivel</th>
<th></th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
使用下面的代碼:
$("#myTable").on('click', '#select', function (e) {
e.preventDefault();
var currentRow = $(this).closest("tr");
var data = $('#myTable').DataTable().row(currentRow).data();
console.log(data['genero']);
console.log(data['nivel_puesto']);
// ... skipped ...
});
如何獲取表的所有td
值:
var tdItems=[];
$("#myTable tr td").each(function(){
tdItems.push($(this).text());
});
它們將存儲在數組tdItems
。
使用 jQuery Datatable API 函數獲取包括隱藏列在內的完整行數據 -
首先獲取數據表的實例,然后執行函數以獲取完整的行數據。 例如,您想在單擊特定行時獲得完整的行數據,下面的代碼可以在表的 fnDrawCallback 回調函數中提供幫助 -
"fnDrawCallback": function (oSettings) {
var oTable = $('#example').dataTable();
$('#example tbody tr').on('click', 'tr', function () {
var position = oTable.fnGetPosition(this);
var full_row = oTable.fnGetData(position);
console.log(full_row); // will print full row data including hide columns
});
}
謝謝
我知道你的問題很老,但如果有人仍然有問題,試試這個:
let table = $('#myTable').DataTable();
let row = table.row(0);
let genero = row.data()['genero'];
let nivel_puesto = row.data()['nivel_puesto'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.