在引導程序中,指示選定項目的標準方式是通過.active類。我有一個通過foreach
knockout.js結構創建的列表組。Knockout.js&Bootstrap 3 - 選擇列表組.active在選擇
<div class="list-group" data-bind="foreach: people">
<a href="#" class="list-group-item" data-bind="click: $root.personSelected, css: {active: $root.chosenPerson.name == $data.name}">
<h4 class="list-group-item-heading" data-bind="text: name"></h4>
</a>
<div>
當選擇了一個人,我要personSelected
調用設置選定對象觀察到personSelected
。我想我可以使用另一種形式css: {active: $root.chosenPerson.name == $data.name}
的數據綁定來檢查當前項目是否被選中,但這似乎不起作用。請參閱jsFiddle
我認爲我可能沒有使用正確的比較語句,或者有更好的方法來做到這一點。有什麼想法嗎?
謝謝!
感謝您的快速反應! +1爲JSFiddle和最佳實踐。您的解決方案很好。在你的助手功能中,你使用名稱作爲比較項目。使用對象本身會更好嗎?返回selectedperson = person –
這取決於你的需求......但是你可以用'$ parent.isSelected($ data)傳遞整個對象'http://jsfiddle.net/DQUwD/1/ – nemesv