2011-11-02 70 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

相关问题