web-dev-qa-db-ja.com

何千もの可能なオプションのリストから選択するために使用する最良のコントロールは何ですか?

多数のアイテム(数千)のリストからデータを入力する必要があるフィールドがあります。これらのアイテムには識別子として一意の番号があり、数千に及ぶ場合があります。 (バグ追跡ソフトウェアが#1->#1000の1000項目にラベルを付ける方法と同様)。フィールドには有効な値を入力する必要があります。

ここでは、ドロップダウンは明らかに適切なコントロールではありません。私は5つの可能な解決策を考えました:

  1. フリーテキスト入力、入力ブラーのある種の検証。
  2. (1)と同じですが、入力を自動的に行うのではなく、手動で検証する手動の「チェック」ボタンがあります。
  3. (1)と同じですが、フォームをオーバーレイする「検索」ボタンを使用して、ユーザーがさまざまなアイテムのプロパティ(アイテムのタイトルなど)を検索し、有効なオプションのリストから選択できるようにしますか?
  4. すべてのアイテムといくつかのプロパティ(識別子、タイトル、作成日など)を示すインラインの並べ替え可能/フィルター可能/ページング可能なグリッド。
  5. (4)と同じですが、グリッドはデフォルトで非表示になっています。 「検索」ボタンは、グリッドをオーバーレイで開きます。

最初の2つのオプションでは、ユーザーが選択しているアイテムのIDを知っているか、ページから移動して検索する必要があります。インライングリッドは、かなり単純な選択であると想定されるため、かなり多くのスペースを占める可能性があります。単純なコントロールでは、オーバーレイは再び非常に複雑に見えます。

詳細なオプションは適切ですか?もっと良い方法はありますか?

9
John

重要なことは、正確なIDを知っているユーザーに障害がないことを確認することですが、準備の整っていないユーザーに適したフォールバック

あなたが説明しているものに似ているおなじみの1つの例は、旅行サイトでの空港の選択です。何百もあります。一意の識別子は 文字のIATAコード (LAXなど)です。ユーザーはコードを知っている可能性がありますが、都市名(ロサンゼルスなど)で選択する可能性が高くなります。

この場合の一般的で優れた解決策は、オートコンプリートテキストフィールドで、一意のIDと、よりわかりやすい説明を組み合わせて選択することで、ユーザーが識別子を知っている人はそれに直接アクセスできますが、他の人は必要なものを最小限の困難で見つけることができます。

Example from kayak.com

あなたの場合、都市名に似たものがない場合-ID番号に加えて人間が読める「一般名」がない場合-IDのオートコンプリートフィールドを推奨します(または、何らかの理由でオートコンプリートが利用できない場合) /不適切、オプション(1)、自動検証付きのフリーテキスト)と、「属性で検索」(自分の(3))またはドリルダウンメニュー(5)を使用しないユーザー向けのサイドオプション彼らが欲しいIDを知っている。

(3)または(5)のどちらがより適切であるかは、手元のデータによって異なります。ユーザーが正確な値を選択できる属性がある場合(例都道府県/市区町村/郵便番号フリーテキスト、または衣服の種類オプションリストから) shirt/trousers/outerwear/underwear)の場合、階層的なドリルダウン選択は非常にうまく機能します。ユーザーが属性に関する部分的な情報しか持っていない可能性がある場合(たとえば、以前に送信されたアイテムのdate)、複数のフィールドを持つ「高度な検索」タイプのフォームが必要になる場合があります。

あなたの(2)について:手動検証が自動検証よりも優れているユースケースは考えられません。ユーザーが良心的で常にチェックしている場合、(自動チェックと比較して)ユーザーは有効な場合は時間を失い、無効な場合は何も得ません。彼らが急いでチェックしない場合、有効なときは何も得られず、無効なときはつまずきます。私が見ることができる唯一の考えられる理由は、データベースクエリが何らかの理由で実際に非常に高価であるかどうかです。

(4)について:フォールバックオプションが複雑な場合、デフォルトで非表示にすると(もちろん、明確にアクセス可能ですが)、フォームが整理され、IDを知っているユーザーのワークフローが最適化されます。

8
PLL

カテゴリーでソートされたドロップダウンを作成して、ユーザーが検索バーで検索できるようにしてください。ドロップダウンの代わりに、完全なページオーバーレイにします。ソートされたナビゲーションバーはあなたの状況で行うことができ、タイトル、日付などのリンクでナビゲーションを作成します...

0
Pixeladed

1つの考えは、ユーザーが何千ものアイテムを検索する必要があるという前提に疑問を投げかけることですか?たとえば、ユーザーが興味のあるアイテムをユーザーにプッシュする方法はありますか。たとえば、電子メール、アプリ内の通知アラート、「お気に入り」としてタグ付けすること、またはユーザーが過去(それらに「関連」)。

ユーザーのワークフローを自然にサポートする関連する分類法はありますか? (たとえば、空港の検索-大陸>国>都市、バグの検索-部門>製品>機能など)。

一般に、「フリーテキスト」検索をサポートできる場合、2013年に#3(属性/値のペア)を実行する理由はあまりありません。

0
Aaron Averill