2014-10-03 34 views
0

我的問題: 單選框名單與「上」同名返回鍵在ListModel的:淘汰賽單選按鈕列表值changee,在ListModel的更新改變

初始化列表:

[{name:"one",selected:false},{name:"two",selected:false},...] 

但是當我點擊單選按鈕名稱 「一」,之後,點擊單選按鈕 「二」:

[{name:"one",selected:"on"},{name:"two",selected:"on"},...] 

我想數據:

[{name:"one",selected:false},{name:"two",selected:"on"},...] 

OR

[{name:"one",selected:false},{name:"two",selected:true},...] 

工作一樣例如:http://jsfiddle.net/DPnBE/5/

但我嘗試這一點,但不工作:http://jsfiddle.net/2L1m6d6a/2/

如何將我的代碼工作作爲相同的例子!謝謝!

回答

0

不同的是,你的items屬性是可觀察到的數組,但在這個例子的一個是純JS數組,所以這段代碼是不工作:

var items = ko.contextFor(element).$parent.items; // items is an observable array 
// observable array does not have a length property !!! 
for (var i = 0; i < items.length; i++) { 
    //set selected() for all items 
    //true for the checked element, false for the rest 
    items[i].selected(items[i] == item);     
} 

你需要解開的觀察到的陣列存取權限內array:

var items = ko.contextFor(element).$parent.items(); // extra parens at the end 
+0

非常感謝你! – 2014-10-03 16:18:11