本文へスキップ

保存した絞り込み

いまの絞り込み条件に名前を付けて保存し、チップで呼び出す。現在の条件と一致するチップは強調され、× で削除できる。条件を変えると強調が外れ、保存ボタンが再び現れる。

ENGLISH

Saved Filter Presets

  • JS
132基本のUI部品 / 検索・絞り込み の一覧 →

プレビュー

クリック

操作クリック/タップで動きます。

デザインの要点

  • 毎回同じ条件を組み直す作業は、繰り返し使う人ほど重い。保存は上級者のための機能なので、控えめな文字ボタンで置く
  • 保存後は「どの保存条件が今の状態か」を見せる。強調が外れることで『条件を変えた』と分かり、上書き保存の判断ができる
  • 名前は利用者が付ける。自動生成の名前(「キッチン・〜¥5,000・在庫あり」)は候補として先に入れておく
実装メモ

プレビュー内のメモリにだけ保持しています。実際のページでは利用者ごとのサーバー保存(ログイン前提)か localStorage に置き、件数上限と削除の確認を付けてください。

コード(コピーして使えます)

<div class="sfp">
  <div class="sfp-presets-row">
    <span class="sfp-plabel">保存した条件</span>
    <div class="sfp-presets" id="sfp-presets"></div>
  </div>
  <div class="sfp-controls">
    <label class="sfp-f"><span>カテゴリ</span><select id="sfp-cat"><option value="">すべて</option><option>キッチン</option><option>文具</option><option>インテリア</option><option>アウトドア</option></select></label>
    <label class="sfp-f"><span>上限価格</span><select id="sfp-max"><option value="">指定なし</option><option value="1000">¥1,000</option><option value="3000">¥3,000</option><option value="5000">¥5,000</option><option value="10000">¥10,000</option></select></label>
    <label class="sfp-f"><span>並び順</span><select id="sfp-sort"><option value="rec">おすすめ順</option><option value="cheap">安い順</option><option value="exp">高い順</option></select></label>
    <label class="sfp-c"><input id="sfp-stock" type="checkbox"><span>在庫あり</span></label>
  </div>
  <div class="sfp-bar">
    <p class="sfp-count" id="sfp-count" aria-live="polite"></p>
    <button id="sfp-save" class="sfp-save" type="button">この条件を保存</button>
    <form id="sfp-form" class="sfp-form" hidden>
      <input id="sfp-name" class="sfp-name" type="text" maxlength="24" aria-label="条件の名前" autocomplete="off">
      <button class="sfp-ok" type="submit">保存</button>
      <button id="sfp-cancel" class="sfp-cancel" type="button">やめる</button>
    </form>
  </div>
  <ul class="sfp-list" id="sfp-list" aria-label="商品"></ul>
</div>

タグ

同じカテゴリ「検索・絞り込み」のほかのパーツ

関連パーツ