我有一些放在数组中的变量。当我遍历数组时,我给变量赋值。当我console.log(variable)时,它返回未定义。
示例:
var test1, test2;
var tests[test1, test2];
function change(){
for(var i=0;i<tests.lenght;i++){
tests[i] = i;
}}
change();
console.log(test1); //returns undefined
输出不应该为0吗?我想念什么?
修改
我想我现在明白了,但是如何适用于特定问题:
var table1 = {};
var table2 = {};
var tables = [table1, table2];
function initiDataTables(urlsToInit){
for(var i = 0; i<tables.length; i++){
var tempUrl = urlsToInit[i];
var name = '#example'+i.toString();
var name2 = name + ' tbody';
console.log(name);
tables[i].val = $(name).DataTable({
'autoWidth' : false,
'ajax': {
'url' : tempUrl,
'dataSrc' : '',
},
'columns': [
{'data':'ID'},
{'data':'Naziv'},
{'data':'File'},
{'defaultContent':"<button id='btnView1' class='btn btnview btn-primary'>Prikaži</button>"},
{'defaultContent':"<button id='btnDelete1' class='btn btndel btn-danger'>Obriši</button>"},
],
'columnDefs' : [
{ 'visible': false, 'targets': [2] }
]
});
console.log('Check' + table1);
$(name2).on( 'click', '.btnview', function () {
var data = tables[i].val.row( $(this).parents('tr') ).data();//here it gives me undefined
window.open('Images/'+data.File, 'window name', 'window settings');
} );
$('.dataTableServer').on( 'click', '.btndel', function () {
var data = tables[i].row( $(this).parents('tr') ).data();
//deleteData('news', data.ID);
} );
}
}
我正在尝试初始化多个数据表。