在javascript/knockout.js中创建2dim数组表

在javascript/knockout.js中创建2dim数组表,javascript,knockout.js,jquery-templates,Javascript,Knockout.js,Jquery Templates,我在javascript中有一个2dim数组,如下所示 for (var i = 0; i < tab.length; i++) { for (var j = 0; j < tab[i].length; j++) { tab[i][j] = ko.observable(tab[i][j]); } tab[i] = ko.observableArray(tab[i])

我在javascript中有一个2dim数组,如下所示

        for (var i = 0; i < tab.length; i++) {
            for (var j = 0; j < tab[i].length; j++) {
                tab[i][j] = ko.observable(tab[i][j]);
            }
            tab[i] = ko.observableArray(tab[i]);
        }
        this.TabValues = ko.observableArray(tab);
for(变量i=0;i
现在我想创建一个没有固定列和行的表

<script type="text/html" id="table">     
        <table data-bind="template: {name: 'rows', foreach: TabValues}">

        </table>
</script>
<script type="text/html" id="rows">
    <tr data-bind="template: {name: 'columns', foreach: TabValues()[i]}">
    </tr>
</script>

为了实现这一点,我创建了一个表模板,并在其中创建了一个行模板。但是现在我不知道如何为列创建模板,因为在foreach语句中我需要一个索引。但我一个也没有。我该怎么做呢

也许你有另一种方法来解决这个问题。我的目标是创建一个没有固定行/列大小的可编辑表


我希望有人能帮助我。

在您的内部模板中,您可以使用
$data
引用当前数据。这将是一个单元格数组,因此您可以执行
“模板:{name:'columns',foreach:$data}”

下面是一个非常基本的例子: