web-dev-qa-db-ja.com

ユーザーが少数を除くすべてのアイテムを選択できるようにする

国名のリストがあります(例:以下)
enter image description here

ユーザーがいくつかの国を選択できるようにしたい、または一部の国を除くすべての国を選択できるようにしたい。

これは、すべて選択ボタンを使用してすべての項目を選択し、不要な項目のチェックを外すことで実行できます。ただし、これにより、バックエンドに送信される長いクエリが作成されます。

たとえば、アルゼンチンを除くすべての国を選択する場合、クエリは次のようになります。

select(Australia, Austria, Belgium...)

このクエリを単に

except(Argentina)  

詳細を知りたい国、または詳細を望まない国を選択できることをユーザーに表示/伝えるにはどうすればよいですか?

3
Ashwin Nepal

まず、サーバーに送信するものの技術的な制約に基づいて、画面上での動作を決定しないようにする必要があります。 JavaScriptを使用して、UIに影響を与えずに、選択の一部の変更されたバージョンを送信用の非表示の入力として反映できます。

そうは言っても、これは リストビルダー UIパターン(デュアルリストとも呼ばれます)の良い候補だと思います。これにより、個々の項目を選択に追加または削除できます。 「すべて追加」または「すべて削除」のボタンを追加することもできます。私はそれがより自然な相互作用になると思います:

List Builder UI from Microsoft's Windows Design Guidelines
画像クレジット: リストボックスのMicrosoft Windowsデザインガイドライン

2
Kit Grose

ユーザーの観点からは、最も簡単な方法は「反転」セレクターです。例えば。 2つのチェックボックスをオンにし、「検索」ボタンを押す前に選択を反転するソフトウェアを知っています。しかし、これにはユーザーによるある程度の指示と抽象化が必要です。

「反転」ステップをスキップする1つの可能な解決策は、2つのボタンを提供することです。

  • マークされたすべての国で検索
  • マークされた国以外のあらゆる場所を検索

これが一番便利だと思います。

0
JonnyZoo