Select elemeinek újra betöltése egy listán belül
Sziasztok!
Probléma leírása:
Van egy szűrőm, amivel a MySql adatbázisomban tárolt adatokat lehet szűrni. Az egyik szűrési feltétel a HELYSZÍN, amelyet a felhasználó kiválaszthat a szűrőben. Választhat megyét, vagy települést. A baj ott kezdődik, hogy hazánkban 3152 település van, így ha ezt beteszem egy select listába, akkor nagyon körülményes kiválasztani a megfelelőt. Ezért arra gondoltam, hogyha kiválasztok egy megyét, akkor ugyanabba a listába töltse be a kiválasztott megye településeit, így megyénként átlagosan már csak 150 település lesz a listában, ami már kezelhetőbb.
Feltételek:
- a helyszín kiválasztására 1 db select elem használható fel
- lehessen megadni olyat is, hogy csak megye, tehát nem kell feltétlenül konkrét települést megadni, hanem lehet megyénként is szűrni
- lehessen meadni olyat is, hogy az egész ország, tehát összes megye
- oldal újratöltése nélkül kéne megoldani, hogy a lista újra betöltse a kiválasztott megye településeit
- működjön a legnépszerűbb böngészőkben, és lehetőleg validálható legyen a kód (W3C)
- minél gyorsabban működik, annál jobb, fontos a sebesség
Meglévő tulajdonságok:
- A települések és a megyék már fel vannak töltve a MySql adatbázisba két küldön táblába
- A települések táblánál jelezve van, hogy az adott település melyik megyéhez tartozik
Eddigi ötleteim:
Már sok időt töltöttem a megoldás keresésével, de csak hasonlókat találtam, nem olyat ami nekem kell. Javascript kell hozzá, de nem tudom, hogy az adatbázist közben kell-e használnia (ajax), vagy elég ha az elején betölti az egész adathalmazt egy tömbbe (sebesség).
Sajnos meghaladja tudásomat a kivitelezés, kérem a segítségeteket!
■ Probléma leírása:
Van egy szűrőm, amivel a MySql adatbázisomban tárolt adatokat lehet szűrni. Az egyik szűrési feltétel a HELYSZÍN, amelyet a felhasználó kiválaszthat a szűrőben. Választhat megyét, vagy települést. A baj ott kezdődik, hogy hazánkban 3152 település van, így ha ezt beteszem egy select listába, akkor nagyon körülményes kiválasztani a megfelelőt. Ezért arra gondoltam, hogyha kiválasztok egy megyét, akkor ugyanabba a listába töltse be a kiválasztott megye településeit, így megyénként átlagosan már csak 150 település lesz a listában, ami már kezelhetőbb.
Feltételek:
- a helyszín kiválasztására 1 db select elem használható fel
- lehessen megadni olyat is, hogy csak megye, tehát nem kell feltétlenül konkrét települést megadni, hanem lehet megyénként is szűrni
- lehessen meadni olyat is, hogy az egész ország, tehát összes megye
- oldal újratöltése nélkül kéne megoldani, hogy a lista újra betöltse a kiválasztott megye településeit
- működjön a legnépszerűbb böngészőkben, és lehetőleg validálható legyen a kód (W3C)
- minél gyorsabban működik, annál jobb, fontos a sebesség
Meglévő tulajdonságok:
- A települések és a megyék már fel vannak töltve a MySql adatbázisba két küldön táblába
- A települések táblánál jelezve van, hogy az adott település melyik megyéhez tartozik
Eddigi ötleteim:
Már sok időt töltöttem a megoldás keresésével, de csak hasonlókat találtam, nem olyat ami nekem kell. Javascript kell hozzá, de nem tudom, hogy az adatbázist közben kell-e használnia (ajax), vagy elég ha az elején betölti az egész adathalmazt egy tömbbe (sebesség).
Sajnos meghaladja tudásomat a kivitelezés, kérem a segítségeteket!
Én a helyedben kitennék egy
Itt egy leírás: http://webmania.cc/amit-a-scriptaculousrol-tudni-erdemes-5/
Nekem nem ez kell
Mert elkezdi beírni pl. hogy A38 hajó.... aztán elindítja a keresést. Hát erre nem ad ki semmit... Akkor erre az a reakció, hogy ez a szűrő vacak, aztán már le is lépett a felhasználó.
A lényeg itt az, hogy egy konkrétan megadott adatra szűrök, tehát konkrét listából kell, hogy válasszak, mert ellenkező esetben nem lesz egyértelmű. Én személy szerint abból indulok ki, hogy a felhasználó intelligenciája nagyon alacsony, szóval ami nekem egyértelmű, azt ő biztosan félreérti. De egy listát nem lehet félreérteni, mert annak meghatározott elemei vannak, tehát a felhasználó nem adhat meg olyan szűrő feltételt, ami nincs is.
jquery?
google
Kiválasztás
Ez egy egyszerűsített kereső
A két select mező megoldás pedig azért nem tetszik, mert ahogy mondtam, ez egy egyszerűsített kereső, és szeretném az egészet 1 db select listával megoldani. Tudom, hogy nem szokványos, és nem a legegyszerűbb út, viszont az én meglátásom szerint így telesül az a kitétel, hogy legyen a szűrő nagyon egyszerű és egyértelmű.
Valahol már láttam ezt a megoldást (már nem tudom melyik oldalon), és akkor nagyon megtetszett, csak nem tudom, hogyan lehet elkészíteni.
Hogy?
A második
select
mezőt eltüntetheted JavaScripttel, majd újra megjelenítheted, mondjuk egy link segítségével, ami ekkor mondjuk elrejti a települések listát. és akkor ténylegesen mindig csak egy listát fogsz látni, már ha van JavaScript a böngésződben. Ha nincs, akkor persze láthatod mindet - ezzel azokat segíted, akik valamilyen okból nem tudják bekapcsolni a JavaScriptet a böngészőben (céges szabályozás, a böngészője nem támogatja, biztonsági megfontolások stb.)Egyáltalán nem bonyolult megvalósítani. Amit leírtam, az kb 20-30 sornyi JavaScript kóddal megvalósítható.
De egy listát nem lehet
Én megszívlelném Poetro tanácsát és az ő példa kódjától indulnék el a fejlesztéssel.
Bővebben?
Lenne egy MEGYÉK lista, mondjuk alatt egy TELEPÜLÉSEK lista. Ha kiválasztok egy megyét akkor az ahhoz tartozó településeket betölti a TELEPÜLÉSEK listába?
Én ezt a függvényt
Megvalósítás
Na ez így már nem rossz
Mivel az én ötletemet egyelőre nem tudom megvalósítani, ezt fogom alkalmazni.
Mégis csak így kéne
http://www.javascriptkit.com/script/script2/2levelcombo.shtml
Én ilyenre gondoltam azzal a különbséggel, hogy nem weboldalakra lehet ugrálni, hanem egy űrlap részeként a kiválasztott település sorszámát (id) továbbküldi egy GET értékben egy feldolgoz.php fájlnak. Tehát van még több másik select elem az űrlapban, és azokat is figyelembe kell vegye amikor GET-ként továbbítja az adatokat.
Illetve még annyi, hogy a MySql adatbázisból generálná a megyéket és azok településeit.
Szóval egy kis segítséget szeretnék kérni a fenti példa kód átalakítására, mert javascriptből még nem vagyok olyan profi, hogy ezt átlássam...
Elolvastad?
Igen
A-B tesztet még nem volt alkalmam csinálni, mivel egy fejlesztés alatt álló projektről van szó. Ha készen lesz, nyilván fogok csinálni A-B tesztet, de először szeretnék egy alapverziót, ahol mindennek van egy A verziója, ami működik.
Kódot a fenti linken tudok mutatni, igaz ahhoz semmi közöm mert nem én csináltam.
Saját megoldásom megvalósításában még semeddig nem jutottam, mivel nem művelem olyan magas szinten a javascriptet, hogy egyedül megvalósítsak egy ilyen volumenű funkciót.
Gondoltam lesz valaki, aki esetleg segít, mert gondolom itt olyan emberek vannak, akik hobbyból is szeretnek programozni. Pénzem nincs arra, hogy megfizessem a munkát. De ha nem segít senki, akkor is megoldom, mert akkor nekiállok és elkezdem felturbózni a javascript tudásomat.
Természetesen ha jutok valamire (ami valószínűleg nem mostanában lesz), és elakadok valahol, akkor beírom ide a kódot ameddig jutottam. Addig is ha van valakinek elképzelése, akkor írja meg, ha nincs akkor köszönöm az eddigi tanácsokat.
Ha ragaszkodsz az
Köszönöm