2013-04-29 73 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