2013-12-17 35 views
1

我正在尝试使用ListJS进行多次搜索或过滤。看起来像我的代码不起作用!喜欢:拳头筛选产品&然后过滤颜色&然后过滤大小。Javascript listjs multiple filter

这只适用于正常搜索。

我想要做多重搜索,因为我有两个搜索字段。

<div id="users"> <div class="searchbox"> 
     <form action="" method="get"> 
      <input class="search" id="id" placeholder="ID" type="text" /> 
     </form> </div> <div class="searchbox"> 
     <form action="" method="get"> 
      <input class="search" id="d2" placeholder="D2" type="text" /> 
     </form> </div> 

     <script src="javascript/search/list.js"></script> 
<script type="text/javascript"> 

var options = { 
<!-- valueNames: [ 'name', 'type', 'keywords-search', 'd2' ]--> 
    valueNames: [ 'keywords-search', 'd2' ] 
}; 
var userList = new List('users', options);  
</script> 


<script src="javascript/search/list.js"></script> 
<script type="text/javascript"> 

var options = { 
<!-- valueNames: [ 'name', 'type', 'keywords-search', 'd2' ]--> 
    valueNames: [ 'keywords-search', 'd2' ] 
}; 
var userList = new List('users', options);  
</script> 
<script type="text/javascript"> 
$('#filter-clothes').on('click', function() { 
    var idFilter = $('#id').text(); 
    var itemFilter = $('#d2').text(); 

    console.log('idFilter: ' + idFilter); 
    console.log('d2Filter : ' + d2Filter); 
    console.log('Applying filter now...'); 

    featureList.filter(function(item) { 
     console.log('Running filter() on item: ('+item+')'); 
     console.log('item.values().id: ' + item.values().id); 
     console.log('item.values().d2: ' + item.values().d2); 

     return 
      (idFilter==='All packages' || item.values().id === idFilter) 
      && (d2Filter==='All items' || item.values().d2 === d2Filter); 
    }); 

    return false; 
}); 

</script> 

任何你们有任何简单的例子

回答

0

尝试用逗号代替了“+”,就像这样:

valueNames: [ 'keywords-search', 'd2' ] 
+0

,对于只有正常的搜索工作。 我想要做多重搜索,因为我有两个搜索字段。 – Zaman