Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为主干网创建模板,以在视图中填充json数据_Jquery_Backbone.js_Jquery Events - Fatal编程技术网

Jquery 为主干网创建模板,以在视图中填充json数据

Jquery 为主干网创建模板,以在视图中填充json数据,jquery,backbone.js,jquery-events,Jquery,Backbone.js,Jquery Events,我的html模板如下所示: <script type="text/template" id="table-template"> <div id="table-body"></div> </script> 实际上,对于上面的JSON数据,我想用列名id、sal、active和sal创建datatable。我正在使用jquery.dataTables.min.js创建datatable。然

我的html模板如下所示:

 <script type="text/template" id="table-template">
     <div id="table-body"></div>                        
 </script>

实际上,对于上面的JSON数据,我想用列名id、sal、active和sal创建datatable。我正在使用jquery.dataTables.min.js创建datatable。然后,我想在“table template”中的“table body”div中插入该datatable。我们将非常感谢您的帮助。

您的模板应该如下所示:

<script type="text/template" id="table-template">
     <div id="table-body">
         <table>
             <tr>
                 <th>id</th>
                 <th>age</th>
                 <th>salary</th>
                 <th>name</th>
             </tr>
             <% _.each(info, function(data, index) { %>
             <tr>
                  <td><%= data.id %></td>
                  <td><%= data.Age %></td>
                  <td><%= data.salary %></td>
                  <td><%= data.name %></td>
             </tr>
             <% }); %>
         </table>
     </div>                        
</script>

@Sylvanus已经回答了如何渲染视图。您只需激活数据表

尝试对其渲染函数进行以下修改

render: function () {
    console.log('render');
    var template = _.template($("#-template").html(), { info : info });
    this.$el.html(template);
    //initialize datatable
    this.$el.find('#table-body').find('table').dataTable();
}
您只需要在模板呈现完成后初始化数据表

render: function () {
    console.log('render');
    var template = _.template($("#-template").html(), { info : info });
    this.$el.html(template);
}
render: function () {
    console.log('render');
    var template = _.template($("#-template").html(), { info : info });
    this.$el.html(template);
    //initialize datatable
    this.$el.find('#table-body').find('table').dataTable();
}