Како креирати Даталист који је тренутно претражив
Падајуће листе су уредан начин за пружање опција за поље за унос, посебно када је листа доступних опција дугачка. Корисник може одабрати опцију коју жели куцање у поље, или прегледајте опције то може одговарати ономе што траже. Бити у стању претраживати опције, међутим, то је идеално решење.
Овакво понашање се може постићи са ХТМЛ елемент који приказује предлоге за унос за различите контроле, као што је
таг. Међутим
приказује само доступне опције када корисник има већ сте откуцали нешто у поље за унос.
Поље за унос можемо учинити употребљивијом ако омогућимо корисницима приступите потпуној листи опција у било ком тренутку током процеса уноса података.
У овом посту ћемо видети како да направимо падајућу листу која се може претраживати у било ком тренутку помоћу и
ХТМЛ елементи и мали ЈаваСцрипт.
1. Креирајте Даталист са опцијама
Прво, креирамо даталист за различите уређиваче текста. Уверите се да је вредност листа
атрибут таг исто је као тхе
ид
од таг - ово је начин на који их повезујемо.
2. Направите Даталист Видљив
Подразумевано, ХТМЛ елемент је сакривен. Можемо га само видјети, када ми почните са уносом уноса у поље на које је даталист прикључен.
Међутим, постоји начин да се "присили" садржај даталиста (тј. Све његове опције) да се појави на веб страници. Ми само требамо да му дамо прикладан приказ
вредност имовине осим ниједан
, на пример дисплеј блок;
.
даталист дисплаи: блоцк;
Приказане опције још није могуће одабрати у овом тренутку, само претраживач приказује опције налази унутар даталиста.
Као што је горе наведено, због уграђеног понашања елемент, дио опција већ се појављује и може се одабрати, али само када корисник почне да кује низ који може претраживач пронађите одговарајућу опцију.
Такође морамо да пронађемо механизам који ћемо направити све опције (на горњој слици екрана приказаној испод падајућег даталиста) селецтабле ат било коју другу тачку процеса уноса података - када корисници желе да провере опције пре него што укуцају било шта, или док су већ узели нешто у поље за унос.
3. Донесите у
ХТМЛ Елемент
Постоје два начина за омогућавање корисника погледајте и изаберите све опције кад год желе:
- Можемо додати а кликните догађај руковалац за сваку опцију, и користите је да изаберете опцију када је кликнута, или можемо трансформисати опције у прави падајући списак, који се, по дефаулту, може изабрати.
- Ми Можемо замотајте опције од даталиста са
ХТМЛ елемент.
Изабрат ћемо други метод, јер је једноставнији и дозвољен је за употребу као резервни механизам у прегледницима који не подржавају елемент. Када претраживач не може да прикаже и прикаже даталист, он рендерс тхе
са свим његовим опцијама уместо тога.
Подразумевано, изаберите
елемент се не појављује у претраживачима који подржавају даталист, тј приморати даталиста да прикаже свој садржај са дисплеј блок;
ЦСС правило.
Дакле, кад ми замотајте опције из горе наведеног примера (где даталист има дисплеј блок
) са ХТМЛ ознака, код изгледа испод:
До погледајте све опције оф изаберите
у падајућој листи морамо користити атрибуте мултипле
да бисте приказали више од једне опције, и сизе
за број опција које желимо да покажемо.
4. Додајте Тоггле Буттон
Требало би да се појави пуна падајућа листа само када корисник кликне на прекидач поред поља за унос, док се корисник појављује у радном даталисту. Омогућава промијенити приказ
вредност даталиста до ниједан
, и такође адд а буттон поред поља за унос, који ће се укључити приказ
вредности даталиста, и последично покрећу појаву изаберите
.
даталист дисплаи: ноне;
Такође морамо да додамо следеће дугме изнад даталиста у ХТМЛ датотеци:
Сада ћемо видјети ЈаваСцрипт. Прво дефинишемо почетне варијабле.
буттон = доцумент.куериСелецтор ('буттон'); даталист = доцумент.куериСелецтор ('даталист'); селецт = доцумент.куериСелецтор ('селецт'); оптионс = селецт.оптионс;
Следеће, морамо додај слушаоца догађаја (тоггле_ддл
) на догађај кликом на дугме које ће пребаците изглед даталиста.
буттон.аддЕвентЛистенер ('клик', тоггле_ддл);
Онда дефинишемо тоггле_ддл ()
функције. Да бисмо то урадили, морамо проверите вредност даталист.стиле.дисплаи
својство. Ако је празан низ, даталист је скривен, тако да морамо поставите вредност на блокирати
, и такође промените дугме од стрелице према доле до стрелице према горе.
фунцтион тоггле_ддл () / * ако је ДДЛ скривен * / иф (даталист.стиле.дисплаи === ") / * схов ДДЛ * / даталист.стиле.дисплаи = 'блоцк'; тхис.тектЦонтент =" А¢А-А² "; елсе хиде_селецт (); фунцтион хиде_селецт () / * хиде ДДЛ * / даталист.стиле.дисплаи ="; буттон.тектЦонтент = "А¢А-А¼";
Тхе хиде_селецт ()
функције скрива даталист постављањем даталист.стиле.дисплаи
повратак на празан низ и промена стрелице дугмета назад ка тачки надоле.
У коначном подешавању, ако поља за унос садрже претходно изабрану опцију, а падајућа листа је такође активирана каснијим кликом на дугме, превиоулисна изабрана опција такође мора бити приказан као одабран у падајућој листи.
Дакле, хајде да додамо следећи означени код тоггле_ддл ()
функција:
фунцтион тоггле_ддл () / * ако је ДДЛ скривен * / иф (даталист.стиле.дисплаи === ") / * схов ДДЛ * / даталист.стиле.дисплаи = 'блоцк'; тхис.тектЦонтент =" А¢А А А ""; вар вал = инпут.валуе; фор (вар и = 0; иТакође желимо да сакријемо падајућу листу када корисник откуца у поље за унос (у време када ће се појавити радна база података).
/ * када корисник жели да откуца у текстуално поље, сакриј ДДЛ * / инпут = доцумент.куериСелецтор ('инпут'); инпут.аддЕвентЛистенер ('фокус', хиде_селецт);5. Ажурирајте унос када је опција изабрана
Коначно, хајде адд а
променити
евент хандлер дотаг, тако да када корисник изабере опцију из падајуће листе, његова вредност ће бити приказана унутар
поље.
/ * када корисник изабере опцију из ДДЛ-а, упиши је у текстуално поље * / селецт.аддЕвентЛистенер ('цханге', филл_инпут); фунцтион филл_инпут () инпут.валуе = оптионс [тхис.селецтедИндек] .валуе; хиде_селецт ();Недостаци
Главни недостатак ове технике је одсуство директног начина обликовања
елемент са ЦСС (изглед
и
ознаке се разликују у различитим прегледачима).
Такође, у Фирефок-у, улазни текст се подудара са опцијама које садржи знакове за унос, док други претраживачи одговарају опцијама Почни са тих ликова. Спецификација В3Ц за даталист не наводи експлицитно како треба извршити подударање.
Осим тога, овај метод је добар и ради у свим већим претраживачима, док у претраживачима где можда не ради, корисници и даље могу да виде падајућу листу, само се предлози неће појавити.
Погледајте последњи демо са мало ЦСС стилинга испод: