web-dev-qa-db-ja.com

互換性のないオプションまたは明示的なオプションを自動的に削除する

ユーザーが選択できるアイテムの長いリストがあります。オプションは階層的です。

例:(fyr、これらは標準の国際貿易分類です)

01 - Meat and meat preparations
011 - Meat of bovine animals 
01111 - Meat of bovine animals, fresh or chilled with bone 
01112 - Meat of bovine animals, fresh or chilled boneless

ユーザーは複数のコードを選択できますが、それらは同じ階層レベルでなければなりません。次のうちどれがより望ましいですか?


  1. 最初は自由に選択させます。次に、他のレベルのコードを削除します。

enter image description here

長所:コントロールが1つ少なく、シンプル

短所:一部のアイテムが突然リストから削除され、混乱を招く


  1. ユーザーにコードレベルを明示的に選択してもらいます。次に、その特定のコードレベルのコードのみを表示します。

enter image description here

長所:コードは同じ階層レベルでなければならないことを理解しやすくなります

短所:もう1つのコントロール

7
Lai

私は2番目のオプションの変種に固執します。

  1. ユーザーが最下位レベルまでクリックできるようにします。各レベルは、現在のレベルの下の次のレベルにつながるリンクなどです...
  2. 最下位レベルでは、リンクは代わりにチェックボックスと送信ボタンのあるテキストに置き換えられます。

2番目の例の上部にあるコントロールは、ユーザーが目的のコードをすでに知っており(ほとんどのユーザーは、そのシステムを定期的に使用している場合は遅かれ早かれそうです)、自分に関連する5つの数字を入力するだけの場合に適しています。探しています。

1
Ilias Bennani

説明しているタスクに最適なコントロールは、階層的なマルチステートツリーの選択です。 ( このデモを試す )。

ユーザーが任意のレベルから任意のオプションを選択できるようにし、コンピューターが選択した最も低いレベルに基づいて計算を行えるようにします。

たとえば、次は同じレベルの選択を意味します:ロシア、モンゴル、ブラジル、アルゼンチン。 enter image description here

次は同じレベルの選択を意味しますが、アジアと南アメリカです。 enter image description here

1
DesignerAnalyst