我有一個數組結構定義viewModel,我綁定它來查看。 對視圖中的代碼是:
<div id="configurepopup">
<div>
<fieldset>
<legend></legend>
<div>
<label>
<b>Show Columns</b></label></div>
<br />
<ul data-bind="foreach: gridOptions.columns">
<li>
<label data-bind="attr:{ 'for': 'chk' + $index()}">
</label>
<input type="checkbox" data-bind="attr:{'id':'chk' + $index(), checked: checked}" /><span data-bind="text:header"></span></li>
</ul>
</fieldset>
</div>
</div>
視圖模型:
function ProductStandardSearchVM() {
var self = this;
self.gridOptions = {
columns: [{
header: 'Catalog Number',
dataMember: 'productName',
checked: ko.observable(true)
}, {
header: 'Description',
dataMember: 'shortDesc',
checked: ko.observable(true)
}, {
header: 'List Price',
dataMember: 'listprice',
checked: ko.observable(true)
}, {
header: 'Quantity',
dataMember: 'minOrdQty',
checked: ko.observable(true)
},
{
header: 'Old Material No',
dataMember: 'oldMatNum',
checked: ko.observable(true)
}, {
header: 'View',
dataMember: 'view',
checked: ko.observable(true)
}]
};
};
var test= new ProductStandardSearchVM();
ko.applyBindings(test, document.getElementById("configurepopup"));
對於相同的的jsfiddle:http://jsfiddle.net/ynV35/3/
的jsfiddle工作完全正常。我在我的項目中也做同樣的事情,我收到參考錯誤:
未捕獲的錯誤:無法解析綁定。 消息:ReferenceError:$ index未定義; 綁定值:attr:{'id':'chk'+ $ index()}
我試着用最新版本更改淘汰賽,但無法解決。 任何幫助,將不勝感激。
在此先感謝。
提到請發表您的實際代碼!你確定你使用$ index的綁定是在一個綁定中嗎?你有一個有效的html標記,你的html標籤是否正確關閉? – nemesv
是的,我已經發布了實際的代碼。我檢查了html標籤,每個標籤都正確關閉。 – user2439903