$ parentContext。$ index未在Knockout.js中定义

时间:2013-04-29 11:40:48

标签: knockout.js

我正在遍历数据并尝试创建运行时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>

Viewmodel是gridOptions:

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

请帮助我,因为我坚持这一点。我尝试过普通$index$index()所有可能的事情,但无法做到这一点。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

It works if you have nested arrays

http://jsfiddle.net/AXvxR/