jQuery从多个sqlite选择创建html表

时间:2012-03-16 20:59:08

标签: jquery html-table

我有一个移动应用程序,我有以下问题。

我从两个表中选择一些值,我试图从这些选择中创建一个表。 这是我的代码:

    list.append('<table class="tablesorter">');
    list.append('<thead><tr><th>Building</th><th>Reason</th><th>Receipt</th><th>Amount</th></tr></thead><tbody>');

    for (j = 0; j < lenpay; j += 1) {
        dummy1(j);
    }

    for (i = 0; i < len; i += 1) {
        dummy(i);
    }

    list.append('</tbody></table>');

dummy和dummy1是从表中选择数据并为html表构建行的函数

function dummy(i){
    selectsql......

    list.append('<tr><td>' + data A + '</td><td>' + data B + '</td><td>' + data C + '</td><td><font color="blue">' + data D + '</font></td></tr>');
}

function dummy(i){
    selectsql......

    list.append('<tr><td>' + DATA A + '</td><td>' + DATA B + '</td><td>' + DATA C + '</td><td><font color="blue">' + DATA D + '</font></td></tr>');
}

结果是一个表格看起来html,但如果用firebug检查它,表格就会被破坏。所以我不能用专栏对它进行排序。我做错了什么?

如何创建正确的html表?

1 个答案:

答案 0 :(得分:2)

你的桌子坏了,因为你错了。当你这样做时:

list.append('<table class="tablesorter">');

即使未指定,您已经附加了包含结束标记的<table></table>。然后你执行此操作,附加另一个结束标记...

list.append('</tbody></table>');

append()与完整对象一起使用而不是标记部分。并且,如果可能的话,最后添加所有内容。一个好的方法是使用字符串变量放置所有标记,然后只调用append()<font>。也不要使用var html = '', items = []; function dummy(i) { selectsql...... items.push('<tr><td>' + data A + '</td>'+ '<td>' + data B + '</td>'+ '<td>' + data C + '</td>'+ '<td><span class="blue">' + data D + '</span></td></tr>'); } html += '<table class="tablesorter">' + '<thead>'+ '<tr>'+ '<th>Building</th>'+ '<th>Reason</th>'+ '<th>Receipt</th>'+ '<th>Amount</th>'+ '</tr>'+ '</thead>'+ '<tbody>'+ items.join('') + '</tbody></table>'; list.append(html); ,它已被永久弃用。我没办法尝试这个,但你明白了:

{{1}}