1

ListJSで複数の検索またはフィルターを実行しようとしています。コードが機能しないようです。同様に、最初に製品をフィルタリングし、次に色でフィルタリングし、次にサイズでフィルタリングします。

これは、通常の検索でのみ機能します。

検索フィールドが 2 つあるため、複数検索を実行しようとしています。

 <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>

皆さんの中で簡単な例はありますか?

4

1 に答える 1

0

次のように、「+」をコンマに置き換えてみてください。

valueNames: [ 'keywords-search', 'd2' ]
于 2013-12-17T03:18:56.463 に答える