html5 table append,javascript - Create table with jQuery - append - Stack Overflow

I wrote rather good function that can generate vertical and horizontal tables:

function generateTable(rowsData, titles, type, _class) {

var $table = $("

var $tbody = $("

").appendTo($table);

if (type == 2) {//vertical table

if (rowsData.length !== titles.length) {

console.error('rows and data rows count doesent match');

return false;

}

titles.forEach(function (title, index) {

var $tr = $("

");

$("

").html(title).appendTo($tr);

var rows = rowsData[index];

rows.forEach(function (html) {

$("

").html(html).appendTo($tr);

});

$tr.appendTo($tbody);

});

} else if (type == 1) {//horsantal table

var valid = true;

rowsData.forEach(function (row) {

if (!row) {

valid = false;

return;

}

if (row.length !== titles.length) {

valid = false;

return;

}

});

if (!valid) {

console.error('rows and data rows count doesent match');

return false;

}

var $tr = $("

");

titles.forEach(function (title, index) {

$("

").html(title).appendTo($tr);

});

$tr.appendTo($tbody);

rowsData.forEach(function (row, index) {

var $tr = $("

");

row.forEach(function (html) {

$("

").html(html).appendTo($tr);

});

$tr.appendTo($tbody);

});

}

return $table;

}

usage example:

var title = [

'مساحت موجود',

'مساحت باقیمانده',

'مساحت در طرح'

];

var rows = [

[number_format(data.source.area,2)],

[number_format(data.intersection.area,2)],

[number_format(data.deference.area,2)]

];

var $ft = generateTable(rows, title, 2,"table table-striped table-hover table-bordered");

$ft.appendTo( GroupAnalyse.$results );

var title = [

'جهت',

'اندازه قبلی',

'اندازه فعلی',

'وضعیت',

'میزان عقب نشینی',

];

var rows = data.edgesData.map(function (r) {

return [

r.directionText,

r.lineLength,

r.newLineLength,

r.stateText,

r.lineLengthDifference

];

});

var $et = generateTable(rows, title, 1,"table table-striped table-hover table-bordered");

$et.appendTo( GroupAnalyse.$results );

$('


').appendTo( GroupAnalyse.$results );

example result:

5rMPE.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值