2013-04-29 49 views
2

我正在循环数据并尝试创建运行时html我无法从集合中获取索引,我使用的是knockout-2.1.0.js。难道我做错了什么?

<ul data-bind="foreach: gridOptions.columns">  
    <li>  
     <label data-role="none" data-bind="attr:{for: 'chk' + $parentContext.$index }">  
     </label> 
     <input type="checkbox" data-bind="attr:{ id: 'chk' + $parentContext.$index }, checked: checked}" /><span data-bind="text:header"></span> 
    </li>  
</ul> 

视图模型是gridOptions:

{ 
    columns: [{ 
     header: 'Catalog Number', 
     dataMember: 'productName', 
     checked: ko.observable(true) 
    }, { 
     header: 'Description', 
     dataMember: 'shortDesc', 
     checked: ko.observable(true) 
    }] 
}, 

请帮我在这,因为我坚持这一点。我曾尝试用简单的$index$index()每一个可能的事情,但不能使这项工作。

+0

检查'}'是错误的。请参阅下面的答案。 – Vladimir 2013-04-29 12:04:50

回答

2

data-bind="attr: { 'for': 'chk' + $index() }"
删除}
data-bind="attr: { 'id': 'chk' + $index() }, checked: checked"

工作例如:http://jsfiddle.net/myS95/3/

+0

非常感谢弗拉基米尔在我的代码中找出问题 – 2013-04-29 12:16:39