2012-03-16 10 views
0

私はモバイルアプリを持っており、次の問題があります。jQueryは複数のsqliteを選択してhtmlテーブルを作成します

私は2つのテーブルからいくつかの値を選択し、これらの選択肢から1つのテーブルを作成しようとしています。

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>'); 

ダミーと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>'); 
} 

結果は次のとおりです。 はここに私のコードですtable look htmlですが、火かき棒で調べるとテーブルが壊れてしまいます。だから私は列でそれを並べ替えることはできません。私が間違っていることは何ですか?

正しいhtmlテーブルを作成するにはどうすればよいですか?

+0

あなたのデータに何かが追加コードを壊す。あなたのデータにhtml要素が含まれていますか? – Panagiotis

+0

私はいくつかのデータを表示するために(#div).html(blabla)を使用しています... – kosbou

答えて

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); 
関連する問題