1

HtmlServiceとjquery用のDatatablesプラグインを使用して、データソースとして配列を使用しようとしています。配列を渡すのに問題があります。結果のテーブルは配列を正しくレンダリングしていません-この3列のテーブルでは、col1には「1」が含まれ、col2には「」が含まれ、「col3には「2」が含まれています」

function doGet() { 
var temp = HtmlService.createTemplateFromFile('example2');
temp.j = [1,2,3];            
return temp.evaluate();  
}

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    <title>DataTables example</title>

    <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.1/css/jquery.dataTables.css">
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.1/jquery.dataTables.min.js"></script>
    <script type="text/javascript" charset="utf8">
        $(document).ready(function() {
$('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
$('#example').dataTable( {
    "aaData": [
        /* Reduced data set */
         <?= j ?> 

    ],
    "aoColumns": [
        { "sTitle": "Engine" },
        { "sTitle": "Browser" },
        { "sTitle": "Platform" }
    ]
} );   
} );
  </script>
</head>
<body>
<div id="demo"></div>

</body>
</html>
4

1 に答える 1

2

いくつかのアイデア。どちらが一番好き/うまくいくか教えてください。文字列として記述[1,2,3]し、それをテンプレートにスローできます。このような:

temp.j = Utilities.jsonStringify([1,2,3]);

<?!= j ?>

注:!文字列をそのまま印刷するため、ここで必要です。「スクリプトレットの強制印刷」を参照してください。

または、このようにhtmlテンプレート内のデータの各要素を反復処理することもできます。

[<? for  (var i = 0; i < j.length; ++i) { ?>
  <?!= j[i]?>,
<? } ?>]

注:j[i]各要素の値を返すだけなので、角かっことコンマが必要です。

于 2013-02-10T02:31:01.850 に答える