よろしくお願い致します。
JavascriptかJQueryでトグル機能を実装し、表示の切り替えを行いたいと思っています。
具体的な内容
合計100件程度のデータがあり、html上のボタンを押すと件数がフィルタリングされる機能を実装しました。
例
ボタン0 ボタンを押すと全件表示される
ボタン1 ボタンを押すと30件がフィルターされ、合計70件が表示される
ボタン2 ボタンを押すと70件がフィルターされ、合計30件が表示される
※ブラウザーロード時は100件が表示された状態となります。
やりたいこと
ボタン1と2に関して、ボタンを1回押した際は件数がフィルターされるのですが、同じボタンを再度押した際には元の合計件数(100件)に切り替えたいと思っています。この2回目の切り替えの実装がうまくいっておりません。
HTML(ボタン)
<ul class="map-tab"> <li class="map-tab_item" data-category="">全て表示</li> <li class="map-tab_item" data-category="1">りんご</li> <li class="map-tab_item" data-category="2">みかん</li> <li class="map-tab_item" data-category="3">なし</li> </ul>
JS
$('[data-category]').on('click', function() { var category = $(this).data('category'); change_category(category); }); function change_category(category) { // 表示されている吹き出しを非表示にする infoWindows_hide(); // カテゴリ別に切り替える場合 if(category !== '') { for (var i = 0; i < mapData.length; i++) { var item = mapData[i]; item['marker'].setVisible(false); for (var j = 0; j < item['category'].length; j++) { if(item['category'][j] === category) { item['marker'].setVisible(true); break; } } } // 全件表示の場合 } else { for (var i = 0; i < mapData.length; i++) { mapData[i]['marker'].setVisible(true); } } }
知りたいこと
上記のコードの場合に、どのようにコードを変更すれば意図した表示結果となるのか知りたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/28 14:49