2012-05-14 65 views
2

燮傢伙淘汰賽的CheckBoxList,我的英語不是很好..但我會盡我所能與動態數據

我是新與淘汰賽,我用這個工具真的很感動。 我在我的MVC 3應用程序的新頁面上使用這個框架。但是我只是遇到了一個問題,就是如何用數據庫中的數據標記我的複選框列表。

<div data-bind="foreach: listPeople"> 
    <div> 
     <label> 
      <input type="checkbox" data-bind="attr: { value: id_person}, checked: $parent.checkedPeople " /> 
      <span data-bind="text: name_person"></span> 
     </label> 
    </div> 
</div> 

因爲你們可以看到,即時通過使用checked標籤來「保留」id_person信息來保存我的數據庫。

listPeople與我的人是一個observableArray。 和checkedPeople是與這些被選中的人共享的可觀察數組。

插入它的工作就像一塊蛋糕。 問題是當我試着「編輯」。當我嘗試以前填充「checkedPeople」。

isnt knockout應該認出它嗎?

+0

即時通訊嘗試和尋找一種方法來解決它的大小昨天..我只找到像這樣的人使用靜態數據http://jsfiddle.net/ducka/haq2y/ –

回答

0

我想在這裏理解你的問題。你的意思是說這份名單對人有約束力,但不會適當地檢查選定的人嗎?如果是這樣的話,你所選擇的人可觀察數組需要是一個整數數組(不是人類類型)。

複選框的值需要與至少一個selectedPeople數組中的整數匹配,以使其顯示爲checked。

+0

它的一個bug .. 這個值:id_person是一個」字符串「字段..我解決了我的JS(ModelView)中的問題: (var in result.checkedList) self.checkedPeople()。push(result.checkedList [i] .id_person.toString()); 我只是將我的數組的類型從int更改爲字符串。 –

+0

但現在..由於一些錯誤,我需要做出淘汰賽行動,使我的checkboxlist認識到它已經檢查了一些人。我必須檢查一個。然後淘汰「omg已經有一些複選框,需要標記」。 –