it-swarm-eu.dev

Alternativy rozevíracího seznamu, pokud nejsou známy možné výsledky

Po určitou dobu jsem po celém webu hledal alternativy k rozevíracímu seznamu při přidělování dat (tj. Během sběru dat, který bude uložen, NE při vyhledávání některých dat).

Jednou z alternativ, která se běžně navrhuje, jsou „textová pole s automatickým dokončováním“ - ale pouze tehdy, pokud jsou známy alespoň některá data.

Představte si však výběr města v konkrétní zemi. Uživatel možná neví, co konkrétně hledá, a proto uvádí všechna města identifikovaná PSČ nebo jejich jméno. Pro tento scénář by mohlo být použito vyskakovací okno s plnými možnostmi vyhledávání, proces však znovu zpomalit.

Co jiného přijde udělat svou mysl? Co běžně používáte? Víte o nějaké hlavní straně, která pro to našla skvělé řešení?


[Aktualizace]

Poté, co jsem zjistil, že se mi nepodařilo správně popsat svou otázku (omlouvám se za to), pokusím se objasnit použití obrazovky pro demonstrační účely.

Screenshot

Předpokládejme formulář pro přidání nových zákazníků, kde je zaznamenáno jméno zákazníka a váš hlavní kontaktní zaměstnanec pro tohoto nového zákazníka. Zaměstnanec (předpokládejme velkou společnost s tisíci zaměstnanců) je označen čtyřmi atributy:

  • rod
  • jméno
  • příjmení
  • větev

Na výše uvedeném snímku jsem je zobrazil v rozevíracím seznamu, ale myslím si, že je zřejmé, že tento seznam již není použitelný. Vzhledem k tomu, že se zaměstnanci liší ve 4 atributech, domnívám se, že také automatický návrh není použitelný. Co tedy pro tento účel běžně používáte?

Doufám, že otázka je nyní jasná.

8
bonifaz

A co dialog s tabulkou se čtyřmi parametry jako sloupci, podobný dialogu „TO:“ v MS Outlook?

enter image description here

6

Možná dobrý kompromis může být něco jako JQuery - Chosen ( http://harvesthq.github.com/chosen/ ): jednoduše přidá filtr, který zachová vizuální aspekty normálního výběrového pole.

3
F.Filippi

Způsob, jakým dělám věci ve svých aplikacích, které mají podobnou funkci, je použití textového pole jako vstupu a <ul> níže obsahuje návrhy na základě toho, co uživatel zadal. Podobné funkci automatického navrhování vyhledávačů.

1
Mike

Nejste si jisti, zda se mi problém dostane pomocí jednoduchého textového pole, které se automaticky vyplní ve všech čtyřech polích? Automatické návrhy by se měly hladce vztahovat na všechny čtyři atributy současně.

Takové textové pole používám v případě, že je třeba vybrat zákaznický účet. Takový účet má id, celé jméno, zemi a sídlo kanceláře a existuje asi 15 000 účtů, příliš mnoho na jednoduché rozevírací seznam a nemůžete požadovat, aby někdo znal id. Při psaní se rychle shodují a zobrazují filtrované výsledky, aniž by bylo nutné opustit klávesnici, což ukazuje pěkně formátovaný rozevírací seznam HTML s víceřádkovými položkami výsledků (jako je například zobrazení země a kanceláře ve druhém řádku) ...

... trochu jako jednoduchý okamžik Google. Protože, pokud jste chtěli hledat podle oboru a nevěděli jste jméno osoby - alespoň byste museli znát název oboru a začít to psát?

Dotaz je také proveden na serveru asynchronní, který vrací zápasy pouze po zadání prvních několika znaků, takže není nutné načítat do prohlížeče 15 000 účtů.

Můžete mít rozšířené vyskakovací vyhledávací pole jako možnost, když je někdo ztracen nebo prostě neví, co začít psát, a nechat plynulé psaní pro normální účinnost případu.

1
Oskar Duveborn

Co takhle ponechat rozevírací pole, ale přidat textové pole „filtr“, aby se výsledky zúžily? Pokud filtrujete výsledky na základě toho, že text filtru je kdekoli v položce seznamu, nikoli pouze na začátku, může to fungovat.

Takže pro rozbalovací nabídku mohl uživatel do filtrovacího pole napsat alespoň „Chicago“, aby se seznam omezil na lidi z tohoto města (nebo na lidi, kterým se říká Chicago, myslím!). Nebo pokud hledají konkrétní osobu, ale jediné, co si pamatují, je, že jejich příjmení skončilo „synem“, pak mohou napsat „syna“ a nechat zobrazit všechny Jacksony, Johnsony atd.

Upřímně řečeno, pokud máte k dispozici obrovský soubor dat a uživatel nemá ponětí, co hledají, nemohu vymyslet mnoho způsobů, jak jej elegantně prezentovat.

0
Cam Jackson