1
試圖篩選具有多個條件的計算。我已經看到很多例子,其中return語句嵌套多個條件,但我真的不明白他們爲什麼工作。我的例子可能不是嵌套返回語句的候選人,但我不知道如何執行此操作。Knockout.js - 篩選具有多個條件的計算
//ko.utils.arrayFilter - filter the items using the filter text
viewModel.filteredItems = ko.computed(function() {
var filter = this.filter().toLowerCase();
if (!filter) {
return this.items();
} else {
return ko.utils.arrayFilter(this.items(), function(item) {
return (item.fullName().toLowerCase().indexOf(filter) > -1);
});
}
//*** THIS LOGIC WORKS BY ITSELF BUT NOT COMBINED WITH THE ABOVE LOGIC ***
//var t = this.selectedTag();
//if (t == "all") return this.items();
//return ko.utils.arrayFilter(this.items(), function(item) {
// return item.tag == t;
//});
}, viewModel);
這裏是小提琴的完整的例子:http://jsfiddle.net/boyus/qTb5Q/12/
在此先感謝。
這部分工作,但不能讓二次搜索,如果沒有在主搜索的輸入框的值進行任何東西。儘管這非常接近。我嘗試更改第一個可觀察對象,並嘗試使用一些簡單的jQuery代碼更改輸入框,當其中一個標記被選中但未取得成功時。 – JBoyus
啊,我明白你現在想要達到的目標。這裏是一個修改後的解決方案,它可以實現你想要的功能:http://jsfiddle.net/qTb5Q/18/ –
這更接近。我真的希望他們成爲互相排斥的選項,但我想我可以從這裏弄清楚。謝謝。 – JBoyus