我有<select >
表名和按钮。每次按下按钮,我都必须从所选表格的数据库中提取数据。
问题在于,如果我尝试从列表中获取与前一个表不同的列数据,则会出现错误:
未捕获的TypeError:无法读取属性&#39; style&#39;未定义的(...)
我已经超过13个小时了,我试图完成这项工作,但还没有。
以下是我的代码:
用数据+列填充数据表:
$('body').on('click', '#btnTeste', function(e){
if ( $.fn.DataTable.isDataTable('#myTable') ) {
$('#myTable').DataTable().destroy();
}
e.preventDefault();
var tabela = $('select[name=selectTable]').val();
// Busca nome das columnas da tabela selecionada
var columns = [];
$.ajax({
type: 'GET',
url: 'getcolumnName.php',
dataType: 'json',
data: {table: tabela},
success:function(data){
for(i=0; i < data.length; i++)
{
/*if(tabela == 'localidade')
{
columns.push( { "mDataProp": "Field"+ (i+1), sTitle: data[i].replace("dsc_","").replace("cod_munic", "cidade")
.replace("id_bairro", "bairro").replace("id_endereco", "endereco"), sType : "string"} );
}
else */
columns.push( { "mDataProp": "Field"+ (i+1), sTitle: data[i].replace("dsc_",""), sType : "string"} );
}
}
})
.done(function(msg){
var dados;
$.ajax({
type: 'GET',
url: 'listaLocalidade.php',
dataType: 'json',
data: {table: tabela},
success:function(data){
dados = data;
}
})
.done(function(msg){
var nFields = Object.keys(dados[0]).length;
var nElements = dados.length;
//Prepara array dos dados
var resultado = [];
for(i=0; i< nElements; i++){
resultado[i] = {};
var prop = "Field";
for(j=0; j < nFields; j++)
{
resultado[i][prop + (j+1)] = dados[i][ columns[j]['sTitle'] ];
}
}
console.log(columns);
console.log(resultado);
$('#myTable').DataTable({
"aoColumns" : columns,
"aaData": resultado
});
});
});
});