0
我正在研究jsfiddle的一些衍生功能:http://jsfiddle.net/supercool/0kbmchxe/9/,這對我以前的問題給予了很大的幫助。如何計算每個過濾器的observableArray中相關結果的數量?
作爲下一步,我希望擴展此功能,以便能夠計算每個過濾器的現有結果數量並將它們綁定到DOM。
我想這些值更新爲/當選擇每個過濾器。因此,例如,如果在完整數據集可見的情況下存在兩個匹配值「white」的結果,我想在過濾器名稱旁邊顯示一個「2」,但如果另一個過濾器調整了此值,我會喜歡它相應地更新。
我想這是因爲只是存儲在可觀察到的值一樣簡單,但我掙扎於如何與從過濾器陣列值查詢產品陣列。
我猜我需要遍歷數組決賽:
for(i = 0; i < self.filter().length; i++){
}
和查詢每個值對相關過濾:
var whiteCount,
blackCount,
blueCount;
if(self.filter()[i].color === "White"){
whiteCount += 1;
} else if (self.filter()[i].color === "Black") {
blackCount += 1;
} else if (self.filter()[i].color === "Blue"){
blueCount += 1;
}
,然後打開可變進可觀察到這將綁定到DOM:
whiteCount: ko.observable(whiteCount); //and so on
我覺得我要麼真的很接近來解決這個問題,或者我可能遠離最佳解決方案。任何幫助表示讚賞。謝謝。
原來我英里距離的最佳解決方案。這工作得很好,謝謝你的幫助。 – nimaek