如何在itemTpl Sencha Touch中找到父循环的索引

时间:2013-12-27 11:02:51

标签: extjs sencha-touch

我有一个表格,每行都有一个复选框。我无法选择多个复选框。以下是ref:

的Item Tpl的代码
+'<tpl for="rows">'
 + '<tr>'
   +'<tpl for="columns">'
     +'<tpl if="dataIndex== \'checkbox\'">'
        + '<td><input type="checkbox" id="checkbox{#}" class="regular-checkbox" /><label class="m0" for="checkbox{#}"></label></td>'
    +'<tpl else>'
      +'<td><p>{value}</p></td>'
    +'</tpl>'
  +'</tpl>'
 +'</tr>'
+'</tpl>'

我在项目Tpl中为行循环获取索引以使每个复选框具有唯一ID时出现问题。任何人都可以指导我锄头吗?

1 个答案:

答案 0 :(得分:6)

Ext.XTemplate支持逐字块(语法{% ... %})。这些块中包含的任何代码都将直接插入到生成的模板代码中。

因此,在父循环中,您可以在存储当前索引{% var parentIndex = xindex; %}的位置声明自己的局部变量。然后在子循环中,您可以通过{[parentIndex]}

获取此变量的值

您的完整模板代码应为:

'<tpl for="rows">'
 +'{% var parentIndex = xindex; %}'
 + '<tr>'
   +'<tpl for="columns">'
     +'<tpl if="dataIndex== \'checkbox\'">'
        + '<td><input type="checkbox" id="checkbox{[parentIndex]}" class="regular-checkbox" /><label class="m0" for="checkbox{[parentIndex]}"></label></td>'
    +'<tpl else>'
      +'<td><p>{value}</p></td>'
    +'</tpl>'
  +'</tpl>'
 +'</tr>'
+'</tpl>'