| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 |
cawte (toto bude asi na dlhsie )...viete mi poradit ako zjednotit akcie pre jednotlive druhy inputov??..
zatial mam iba
js:
Kód: <script type="text/javascript"> function checkFilter(){ $(".filter").bind('click', function(e) { var formName = e.target.form.name; useFilter(formName); }); } function useFilter(formName){ alert("submit form: "+formName); } </script>
form je v ukazke
potrebujem to na filtrovanie udajov
mam form nejaky...v nom inputy a checkboxy a selecty...
a potrebujem: pomoct s fciou teda zjednotit akcie pre input type=[text] (ked uzivatel prestane pisat )..checkbox (sa odskrtne alebo zaskrtne) a select (ak vyberie nejaku hodnotu)....bude to bez submit tlacitka....a ked cekne vsetky tieto akcie zavola dalsiu...ale ta uz nieje podstatna pre mna..
UKAŽKA
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2011 11:17 | |
|
Neviem presne čo chceš, nechce sa mi to takto po ránu čítať poriadne ale možno ti pomôžem:
Ak chceš vybrať všetky inputy, selecty a textarey použiješ Kód: $("input, select, textarea) ak chceš reagovať na ich zmenu môžeš použiť Kód: .keydown(function(kodFcie){});//kodFcie sa aktivuje vždy pri stlačení tlačidla, ešte pred jeho uvoľnením .keyup(function(kodFcie){});//kodFcie sa aktivuje po uvoľnení tlačidla .focus(function(kodFcie){});//kodFcie sa aktivuje po kliknutí na element, teda ak napríklad ideš písať do inputu .blur(function(kodFcie){});//kodFcie sa aktivuje keď si v inpute a klikneš inde, prípadne stlačíš tabulátor, teda opustíš element .onchange(function(kodFcie){});//kodFcie sa aktivuje keď vojdeš do elementu(inputu), prepíšeš v ňom hodnotu a odídeš z neho. Prípadne ak vyberieš inú hodnotu v selecte. Aktivuje sa len v prípade, že hodnoty sú iní. Ak sú rovnaké pred úpravou aj po nej tak sa nestane nič. A do kodFcie si dáš nejakú funkciu, ktorá sa má vykonávať pre každý zvolený element.
Snáď som pomohol.
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 22.01.2011 11:30 | |
|
jj nice ....na select a checkboxy je dobry onchange (change v jquery)...ale ako zabezpecit aby sa vykonala tiez ak uzivatel pise do inputu a vykona sa az ked prestane pisat ?? alebo nejak inak to spravit aby to budilo dojem ze ta fcia sa aktivuje po tom co dopises text ?? ..ked na nho dam tiez change tak sa aktivuje ale az ked kliknes von z inputu
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2011 11:46 | |
|
Riešil by som to skombinovaním .keyup a časovača. Teda pri každom keyup by sa aktivovala fcia, ktorá by nastavila nejaký časovač. Po uplynutí času by stalo čo potrebuješ. Ak by sa znova stlačil kláves počas behu časovača, ten by sa začal počítať od znova. O časovaní máš pekne popísané tu: http://www.w3schools.com/js/js_timing.asp
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 22.01.2011 12:48 | |
|
no spravil som to nejak takto...lenze ten time akoby sa mi nenuloval...prvykrat napocita 3000 ale dalej uz tu fciu pouzije zakazdym keyup
Kód: var time = 0; var use_time = 3000;
function checkFilter(){ $("input[type=checkbox].filter").bind('change', function(e) { var formName = e.target.form.name; useFilter(formName); }); $("select").bind('change', function(e) { var formName = e.target.form.name; useFilter(formName); }); $("input[type=text].filter").bind('keyup', function(e) { var formName = e.target.form.name; time = 0; timedCount(formName); }); }
function timedCount(formName){ time = time+1; t = setTimeout("timedCount('"+formName+"')",1); if(time == use_time){ useFilter(formName); } } function useFilter(formName){ alert("submit form: "+formName); }
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2011 20:31 | |
|
Načo to pcháš do fcie?
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 22.01.2011 21:00 | |
|
Flety píše: Načo to pcháš do fcie?
radsej to mam spravit ako??
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2011 21:20 | |
|
Kód: var time = 0; var use_time = 3000;
function checkFilter(){ //Toto nesmie byť vo funkcií. Načo si to sem dával? //Teda, má to byť vo fcii $(document).ready(function(){ sem dáš všetko čo sa má vykonávať }); //Môžeš to spraviť tak ako to máš a potom tvoju fciu umiestníš do "document.ready" ale nie som si istý, či to tak pôjde, no malo by. $("input[type=checkbox].filter").bind('change', function(e) {...
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 22.01.2011 22:30 | |
|
uz mi to ide...potrebujem to dat do fcie lebo tu fciu potrebujem incializovat neskor ked sa mi obsah zmeni...
este mam jeden problem ako zabezpecit to ked uzivatel pise tak pouzijem onkeyup...ale co ked tam iba vlozi pravym klikol vlozit?..potrebujem kontrolovat value toho inputu do ktoreho kliknem alebo budem pisat
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2011 22:48 | |
|
.change()
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 22.01.2011 23:46 | |
|
lenze change sa aktivuje ked vypises input a kliknes niekde vonku z neho...a uzivatel nemusi kliknut nikde potom uz :/ ...
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 23.01.2011 13:04 | |
|
Obávam sa, že bez toho aby užívateľ klikol inde filtrovať nebude. Hľadal som v dokumentácií ale myslím, že JS ešte nevie reagovať na prilepenie textu.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 23.01.2011 13:20 | |
|
Je mozne skombinovat udalosti onpaste (podporuje IE, Chrome a nejak zvlastne aj Firefox) + oninput (Firefox, Opera a Chrome), ale bude to vesele. Google pomoze.
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 23.01.2011 13:25 | |
|
aha no nevadi...ale toto mi perfektne staci
este jedna chyba tam je...trocha to je spomalene v mozzile (aj chrome to iste)...akoby ten counting prebiehal dlhsie ako v opere ...nevies preco ??...
takto to mam teraz a ide to super okrem toho zpomalenia v mozile..
(ak tam hocikde nieco vidis co mam zle tak povedz)
Kód: <script type="text/javascript">
var time = 0; var t; var filtering = 0; var use_time = 700;
function checkFilter(){ $("input[type=checkbox].filter").bind('change', function(e) { var formName = String(e.target.form.name); useFilter(formName); clearTimeout(t); filtering = 0; }); $("select.filter").bind('change', function(e) { var formName = String(e.target.form.name); useFilter(formName); clearTimeout(t); filtering = 0; }); $("input[type=text].filter").bind('keyup', function(e) { var formName = String(e.target.form.name); time = 0; if(!filtering){ filtering = 1; timedCount(formName); } }); }
function timedCount(formName){ time = time+1; t = setTimeout("timedCount('"+formName+"')", 1); if(time==use_time){ useFilter(formName); clearTimeout(t); filtering = 0; } }
function useFilter(button){ $(document).ready(function() { button = String(button);
showLoading();
$.ajax({ type : 'POST', url: 'site.php/'+button+'/filter', dataType : 'json', data : $("form").serialize(), success : function(data){ if (data.error === true){ buildAlert('warning', data.msg); $("#output").slideDown(); }else{ $("#table_"+button+" tr.filtered").hide(); for(x in data.y){ $("#table_"+button+" tr#nr-"+data.y[x]).show(); } if (data.info !== null){ buildAlert('info', data.info); } } hideLoading(); }, error : function(XMLHttpRequest, textStatus, errorThrown) { alert("chyba"); hideLoading(); } }); return false; }); } </script> // pridané po 39 sekundách od posledného príspevkuokey Ďuri ...pohľadam
|
|
Registrovaný: 03.01.11 Prihlásený: 21.02.11 Príspevky: 54 Témy: 1 |
Kód: function timedCount(formName){ time = time+1; t = setTimeout("timedCount('"+formName+"')", 1); if(time==use_time){ useFilter(formName); clearTimeout(t); filtering = 0; } } sa cudujes? Dakujem pekne spustat kazdu milisekundu nejaky skript 700 krat. Ak to mas niekde komplet (aj s prislusnym html, nechce sa mi ho spatne budotovat podla tej DOM co tam pouzivas) tak to sem hod a skusim to pozret profilerom kde to najviac stoji
|
|
Registrovaný: 28.02.09 Prihlásený: 19.02.18 Príspevky: 241 Témy: 56 | Napísal autor témy DeeJay3: 25.01.2011 16:19 | |
|
mam to tu ale len take zakladne nejake spravene...inak ti to ukazat nvm...mam to v admine...ale presne to iste tam je.. UKAZKA a tak isto to v mozile dlho robi...preto som tam dal kazdu milisekundu aby som si vedel nastavit optimalny cas ako dlho to ma cakat kym to odfiltruje
// pridané po 14 hodinách 30 minútach od posledného príspevku
dal som tam namiesto kazdej milisekundy kazdu 100 milisekundu ..to mi staci ked to chcem postnut po 700 milisekundach...a tie casy sa vyrovnali
Flety ďakujem za pomoc
na to paste som pouzil $("input[type=text].filter").bind('keyup input', function(e) { ...
funguje to ale vobec nvm ako lebo som k tomu nic nenasiel...vie niekto kde to hladat?
|
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Nejde dokončiť hĺbková kontrola systému v Antivíry a antispywary | 3 | 732 | 03.10.2011 16:21 Reverser | | Kontrola systemu suboru na D:/ [ Choď na stránku: 1, 2 ] v Operačné systémy Microsoft | 32 | 1038 | 31.07.2007 18:42 Devil_SK | | Súčet inputov v JavaScript, VBScript, Ajax | 3 | 493 | 25.02.2012 12:30 shaggy | | Overovanie inputov v JavaScript, VBScript, Ajax | 5 | 532 | 28.01.2009 0:23 Blackdevil | | Ochrana inputov v PHP, ASP | 2 | 357 | 14.11.2011 16:09 chrono | | Odoslanie viacerých údajov z inputov v PHP, ASP | 15 | 745 | 25.03.2010 7:46 emer | | ext. disk v akcii v Úložné zariadenia | 1 | 431 | 04.01.2012 13:15 nBXXL | | Nacitanie hodnot z tabulky do inputov v JavaScript, VBScript, Ajax | 0 | 366 | 19.03.2010 23:38 wolf14 | | innerHTML - maze zadane udaje do inputov v JavaScript, VBScript, Ajax | 3 | 807 | 09.01.2009 22:05 Blackshadow | | $_POST['pole']['item'] kombinácia viacerých typov inputov v PHP, ASP | 20 | 814 | 30.08.2011 19:46 camo | | Vykonanie akcií po skončení http spojenia v PHP, ASP | 6 | 580 | 17.08.2009 19:37 rooobertek | | Quad SLI 9800 GX2 v akcii v Novinky | 14 | 701 | 27.03.2008 16:45 Mir | | Program na zautomatizovanie akcií v PC v Ostatné programy | 1 | 352 | 20.02.2012 19:39 reklamiak | | Kupa kamery na natacanie akcii (svadby, stuzkove, oslavy...) v Ostatné | 4 | 934 | 01.04.2012 17:32 El_Silver | | Nejaký ten základ v Internetový marketing, SEO, reklama | 0 | 1257 | 19.12.2006 21:45 exot | | zaklad za 8k v PC zostavy | 14 | 565 | 26.02.2008 15:42 prkyyynko |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|