2011-11-02 64 views
1

我使用這個庫:http://listjs.com/如何添加另一個過濾類別到List.js?

我需要添加其他類別進行過濾,所以我說是這樣的:

<script type="text/javascript"> 

    /* 
    * LOVELY THINGS 
    */ 

    var templates = { 
     valueNames: [ 'name', 'description', 'category' ] 
    }; 

    var featureList = new List('lovely-things-list', templates); 

    $('#filter-games').click(function() { 
     featureList.filter(function(values) { 
      if (values.category == "Game") { 
       return true; 
      } else { 
       return false; 
      } 
     }); 
     return false; 
    }); 

    $('#filter-NewCategory').click(function() { 
     featureList.filter(function(values) { 
      if (values.category == "NewCategory") { 
       return true; 
      } else { 
       return false; 
      } 
     }); 
     return false; 
    }); 


    $('#filter-beverages').click(function() { 
     featureList.filter(function(values) { 
      if (values.category == "Beverage") { 
       return true; 
      } else { 
       return false; 
      } 
     }); 
     return false; 
    }); 
    $('#filter-none').click(function() { 
     featureList.filter(function(values) { 
      return true; 
     }); 
     return false; 
    }); 
</script> 

和按鍵這樣的:

<li class="btn" id="filter-NewCategory">Only show New Category</li> 

然後篩選無法正常工作。第一類作品的第一個按鈕,第二個添加一些結果,有時第三作品等。

也許有人知道我在做什麼錯了?

回答

0

濾波函數獲取該屬性是單個項目。 你需要做以下進行比較:

$('#filter-games').click(function() { 
    featureList.filter(function(item) { 
     if (item.values().category == "Game") { 
      return true; 
     } else { 
      return false; 
     } 
    }); 
    return false; 
}); 

並重新設置過濾網,你可以簡單地做

featureList.filter(); 

全在這裏例如: http://pastebin.com/UPB095pk

0

看起來像你的第二個.click綁定到#filter-games當你的意思是綁定到#filter-NewCategory?

嘗試改變代碼來讀取:

$('#filter-NewCategory').click(function() { 
    featureList.filter(function(values) { 
     if (values.category == "NewCategory") { 
      return true; 
     } else { 
      return false; 
     } 
    }); 
    return false; 
}); 
+0

這就是我的意思第一個代碼...對不起,更新。 – Gio

相關問題