1

我正在尝试使用数组作为数据源,使用 HtmlService 和用于 jquery 的 Datatables 插件。我在传递数组时遇到问题。结果表未正确呈现数组 - 在此 3 col 表中,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 ?>

注意:!这里是必需的,因为它强制字符串按原样打印。请参阅“强制打印 Scriptlet ”。

或者您可以像这样遍历 html 模板中数据的每个元素。

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

注意:方括号和逗号是必需的,因为j[i]它只返回每个元素的值。

于 2013-02-10T02:31:01.850 回答