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>

Viewmodel 是 gridOptions:

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

请帮我解决这个问题,因为我被困住了。我已经尝试过简单的$index$index()所有可能的事情,但无法完成这项工作。

4

2 回答 2

2

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

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

于 2013-04-29T11:45:42.623 回答
2
It works if you have nested arrays

http://jsfiddle.net/AXvxR/

于 2013-04-29T11:46:30.560 回答