【发布时间】:2019-05-23 04:37:13
【问题描述】:
正如您在最后一列中看到的,有 2 个按钮,一个用于更新数据,另一个用于删除数据。 按下按钮时,NumEmpleado(hidden)、Nombre、email 和 Password 的值传递到一个表单。
如果我将浏览器的大小调整到足以启动响应性布局,它就可以正常工作。然后,当我单击蓝色按钮(更新)时,控制台说它无法读取该属性。我可以想象是因为响应式布局,但我不知道如何处理它。
这是表格代码:
<div class="table-responsive col-sm-12">
<table id="dt_cliente" class="table table-bordered table-hover nowrap" cellspacing="0" width="100%">
<thead>
<tr>
<th>NumEmpleado</th>
<th>Nombre</th>
<th>Correo</th>
<th>TipoCuenta</th>
<th>Operaciones</th>
</tr>
</thead>
</table>
</div>
这是填充表格然后添加更新/删除按钮的方式
var listar = function(){
$("#cuadro2").slideUp("slow");
$("#cuadro1").slideDown("slow");
var table = $("#dt_cliente").DataTable({
"destroy":true,
"responsive": true,
"ajax":{
"method":"POST",
"url": "listar.php"
},
"columns":[
{"data": "NumEmpleado"},
{"data": "nombre"},
{"data": "correo"},
{"data": "tipoCuenta"},
{"defaultContent": "<button type='button' class='editar btn btn-primary'><i class='fa fa-pencil-square-o'></i></button> <button type='button' class='eliminar btn btn-danger' data-toggle='modal' data-target='#modalEliminar' ><i class='fa fa-trash-o'></i></button>"}
],
"language": idioma_espanol,
"dom": "Bfrtip",
"buttons": [
{
"text": "<i class='fa fa-refresh'></i>",
"titleAttr": "Recargar Datos",
// "className": "btn btn-sucess",
"action": function(){
listar();
}
},
{
extend: 'excelHtml5',
text: '<i class="fa fa-file-excel-o"></i>',
titleAttr: 'Excel'
},
{
extend: 'csvHtml5',
text: '<i class="fa fa-file-text-o"></i>',
titleAttr: 'CSV'
},
{
extend: 'pdfHtml5',
text: '<i class="fa fa-file-pdf-o"></i>',
titleAttr: 'PDF'
}
]
});
obtener_data_editar("#dt_cliente tbody", table);
}
这是从表中获取值以将它们放置在表单上的函数。 (蓝色更新按钮)
var obtener_data_editar = function(tbody, table) {
$(tbody).on("click", "button.editar", function(){
var data = table.row($(this).parents("tr")).data();
var numEmpleado = $("#numEmpleado").val( data.NumEmpleado),
nombre = $("#nombre").val( data.nombre ),
correo = $("#correo").val(data.correo),
password = $("#password").val(data.password),
opcion = $("#opcion").val("modificar");
$("#cuadro2").slideDown("slow");
$("#cuadro1").slideUp("slow");
});
}
感谢您的宝贵时间。
【问题讨论】:
-
是什么让它响应?检查断点前后的 html 结构,是否有更多
<tr>s 被添加到<table>?
标签: php jquery datatables