Select szűrése textboxszal

Igen gyakran használt vezérlőelem a select (vagy drop down, combobox), mely nagyban megkönnyíti az értékek kiválasztását, mint pontos adatforrás. Mindez igaz addig, amíg maximum pár tíz elem közül kell választanunk, nagyobb elemszám felett bosszantó lehet a kereséssel eltöltött idő. Miért nem használunk címkéket? Csak: nem pontos, csak egy értéket közöl (a select 2 értéket közöl- value, text- és pontos értékek), és mert nem erre való. A nagyobb listákban való elemkiválasztására készítettem egy scriptet, ami már már nagyobb listaméretnél is megkönnyíti az választást.

Az elv a következő:

  1. lementjük az induláskor a selectben lévő elemeket (backup)
  2. feldolgozzuk a keresési kritériumot: ne számítson kereséskor a beírt szavak sorrendje
  3. kiűrítjük a selectet
  4. végigmegyünk a select backupján, és a kritériumnak megfelelő elemet betesszük a selectbe
  5. a korábban kijelölt értékeket, amit szintén a backupban tárolunk, “átjelöljük” a selectbe (A kijelölt elemek mentése a select onclick eseményére történik.)

Műküdés közben a kód: ITT

A kód: selectfilter.js De ez sem jelent megoldást egy több 1000 soros selectre, mivel ott eleve sok idő a html betöltése, és a kliensoldali “szószűrés”. Ezt ajax-szal oldjuk majd meg.

A bejegyzés kategóriája: Nincs kategorizálva
Kiemelt szavak: , .
Közvetlen link.

Select szűrése textboxszal bejegyzéshez 5 hozzászólás

  1. kow hozzászólása:

    AJAX-al megvalósítva gyakorlatilag egy “live search” megoldáshoz jutottunk.

  2. cadmagician hozzászólása:

    igen, de nem. mert itt ugye pl 200.000 sorból kell egy pontos id-t kiválasztani. hamarosan felteszem azt is.

  3. Benjamin hozzászólása:

    ha menne w2k-n a jing mutatnek “sajat” megoldast, ami sztem uberfasza :)

  4. kow hozzászólása:

    Szerver terhelést hogy csökkentesz, mert ez ugye gyilkol ha leütésenként kérdezel DB-t. Az én javaslatom egyszer az volt, hogy a 3. leütéstől keressen.

  5. Benjamin hozzászólása:

    gepelos kereses: az idotenyezo is jo, mondjuk 1 masodpercig ha nem tortent billentyu lenyomas akkor inditjuk, termeszetesen 1 beture se erdemes keresni minimum 2.

ITT és MOST VÁRJUK A HOZZÁSZÓLÁST!

Email cím (nem tesszük közzé) A kötelezően kitöltendő mezőket * karakterrel jelöljük

*

A következő HTML tag-ek és tulajdonságok használata engedélyezett: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>