2012-10-13 20 views
1

我有以下視圖模型:如何更新淘汰賽中的選中項目計數?

var viewModel = { 
    List: ko.observableArray([ { Id: 1, Value: "Test 1" }, 
           { Id: 2, Value: "Test 2" }, 
           { Id: 3, Value: "Test 3" } 
           ]), 
    // item with id "3" checked by default 
    Selected: ko.observableArray(["3"]) 
}; 

和視圖:

<div data-bind="text: Selected().length"></div> 
<ul data-bind="foreach: List"> 
    <li class="checkbox"> 
     <label> 
      <input type="checkbox" name="SelectedGroups" data-bind="attr: { value: Id }, checked: $root.Selected()" /> 
      <span data-bind="text: Value"></span> 
     </label> 
    </li> 
</ul> 

我想顯示選定的項目數,但淘汰賽不重視對變化選擇框狀態事件偵聽器。我試圖使用計算的屬性,但它不起作用。

雖然,如果我手動(或從腳本)推或pop項目Selected數組一切正常。 我錯過了什麼?例如,請參閱fiddle

回答

1

你有一組額外的()在託運的結合,將其更改爲:

data-bind="attr: { value: Id }, checked: $root.Selected" 

,它應該工作看到這個fiddledocumentation

+0

太棒了!謝謝你,這個伎倆。啊,那個令人困惑的使用支架在這裏,不在那裏,而不在這裏,但現在,但那裏...... – sigurd