2017-11-08 7 views
0

私はjavascriptでjsonデータを受け取って、それをhtmlテーブルに変換します。JavaScriptを生成したテーブルにヘッダーを挿入するにはどうすればよいですか?

スクリプトは動作していますが、テーブルにヘッダーを挿入するにはどうすればよいですか?ヘッダを追加し、既存のコードに

<script> 
     $(document).ready(function(){ 
      $('#id_adv').DataTable(); 
      $('#id_adv').on('click','.btn',function(){ 
       var currow = $(this).closest('tr'); 
       var result = currow.find('td:eq(1)').text(); 

       $.get('{% url "prop_table" %}', {var1:result}, function (data_prop) { 
        var data = data_prop['data_prop']  
        var data_json = JSON.parse(data); 
        var html = ""; 
        for (var i = 0; i < data_json.length; i++) { 
         html += "<tr><td>" + data_json[i].fields.var1 + "</td><td>" + data_json[i].fields.var2 + "</td><tr>"; 
         } 
        $('#id_prop').html(html);      
       }) 
       document.getElementById('total').innerHTML = result;      
      }); 
     }); 
    </script> 
+2

なぜあなたは 'eval()'を使っていて、 'JSON.parse()'を使っていないのですか? –

+0

JSON.parse()で動作しませんでした。 –

+0

'table.createTHead()'はどうですか? –

答えて

0

若干の変更:ここで

はコードです。これは、あなたのテーブルにヘッダを追加する必要があります

<script> 
     .... 
        var html = ""; 
        html += "<tr><th>Header 1</th><th>Header 2</th><tr>"; 
        for (var i = 0; i < data_json.length; i++) { 
         html += "<tr><td>" + data_json[i].fields.var1 + "</td><td>" + data_json[i].fields.var2 + "</td><tr>"; 
         } 
        $('#id_prop').html(html);      
     .... 
</script> 

(私はevalのの使用状況を切り出し、ちょうどHTMLのテーブルヘッダを作成するために、関連部分において守ってきました)。 そして私はあなたの質問のコメントに同意し、組み込みのJSON解析を使用します。 evalは悪用しようとしています。

+2

サンプルコードの評価を削除してください。人々はあなたのコードをコピーして貼り付けようとしています –

+0

おかげさまでこのソリューションは素晴らしいです! –

+0

@Brickempようこそ。それを受け入れるようにしてください。 – scotty3785

0

テーブルを作成した後でヘッダーを追加できると思います。 createTHead()メソッドは空の要素を作成し、それをテーブルに追加します。私は:

<script> 
    function createHeader() { 
     var table = document.getElementById("myTable"); 
     var header = table.createTHead(); 
     var row = header.insertRow(0); 
     var cell = row.insertCell(0); 
     cell.innerHTML = "<b>This is a table header</b>"; 
    } 
</script> 
関連する問題