Autor | Zpráva | ||
---|---|---|---|
japlavaren Profil |
#1 · Zasláno: 8. 1. 2011, 13:38:50
Dobry den,
mam tabulku typu <table> <thead> <tr><th><input type="checkbox" class="checkAll" /></th></tr> </thead> <tbody> <tr><td><input type="checkbox"></td></tr> <tr><td><input type="checkbox"></td></tr> <tr><td><input type="checkbox"></td></tr> </tbody> </table> a potrebujem, aby horny checkbox zaskrtol vsetky checkboxy ALE len v ramci tabulky, dostal som sa po nieco taketo: <script> $('.checkAll').change(function(){ $(this).parents('table').css('background-color', 'red');//('input[type=checkbox]').attr('checked', $(this).attr('checked')); }); </script> kde mi ofarbi bunky v tabulke na cervenu. bohuzial netusim ako to spravit, aby to fungovalona tu podmienku v komente - na vsetky inputy danej tabulky. Dakujem, j |
||
Kcko Profil |
#2 · Zasláno: 8. 1. 2011, 15:49:19
|
||
Chamurappi Profil |
#3 · Zasláno: 8. 1. 2011, 17:21:12
Reaguji na Kcka:
„$(this).parents("table").find("input[type=checkbox]")“ Stejně jako minule — bude-li mít v sobě víc tabulek (což u složitějšího formuláře hrozí), přepne tím všechna zaškrtávátka v té nejnadřazenější z nich. Pokud je řeč o jedné tabulce, zajímá ho jen parent .
|
||
Kcko Profil |
#4 · Zasláno: 8. 1. 2011, 19:11:23
|
||
japlavaren Profil |
#5 · Zasláno: 8. 1. 2011, 20:01:02
Dakujem
|
||
Chamurappi Profil |
#6 · Zasláno: 8. 1. 2011, 20:01:14 · Upravil/a: Chamurappi
Reaguji na Kcka:
Když píšu v sobě, myslím tím v sobě. Co na tom nechápeš? |
||
Kcko Profil |
#7 · Zasláno: 8. 1. 2011, 20:02:27 · Upravil/a: Kcko
Chamurappi:
Aha a další extrémně speciální případ bys neměl? :D třeba něco s neukončeným tagem atp. Nebud směšný prosímtě. Pokud ty používáš zanořené tabulky v pořádku ... |
||
joe Profil |
#8 · Zasláno: 8. 1. 2011, 20:11:56
Kcko:
Zklamu tě, ale podobné vnořování tabulek je ve složitějších formulářích normální. |
||
Kcko Profil |
#9 · Zasláno: 8. 1. 2011, 20:13:46
joe:
Jak u koho ... |
||
Chamurappi Profil |
#10 · Zasláno: 8. 1. 2011, 20:17:04
Reaguji na Kcka:
To je naprosto normální situace, nic extrémního na ní není. K práci se všemi checkbox y uvnitř všech nadřazených tabulek není vůbec žádný důvod.
„Pokud ty používáš zanořené tabulky v pořádku …“ Tam, kde jsou vhodné, je samozřejmě používám. To „ s “ tam dáváš navíc, abys autora stránky vyučil, že nemá používat zanořené tabulky? To se vymyká zadání.
|
||
Kcko Profil |
#11 · Zasláno: 8. 1. 2011, 20:20:32
Chamurappi:
A to co jsi mu poradil Ty, že má použít parent snad funguje? |
||
joe Profil |
#12 · Zasláno: 8. 1. 2011, 20:29:43
Chamurappi:
Právě dělám s formulářema něco podobného, sice ne přímo zaškrtávání checkboxů, ale používám parents v jQuery. Jseš si jistý, že parent lze zapsat místo parents? Protožě mně to tak nefunguje, mám zhruba takovou strukturu: <table> <tr> <td>...</td> <td><div><a></a></div> </tr> Ze zvýrazněného odkazu potřebuju zjistit zvýrazněný řádek. Při použití parents('tr') to jde, při použití parent('tr') už ne. |
||
Chamurappi Profil |
#13 · Zasláno: 8. 1. 2011, 20:39:17 · Upravil/a: Chamurappi
Reaguji na Kcka:
Hm, očividně ne. To je pro změnu dobrá připomínka. Koukám, že parent s jedním argumentem funguje tím nejméně použitelným způsobem.
Takže bych buď smyčkou projel parent y, dokud bych nenarazil na tabulku, nebo bych použil parents("table:first") . Pracovat naráz se všemi rodiči stejného jména je chyba — u tabulek možná méně zjevná, u <div> ů by byla nepřehlédnutelná.
Reaguji na joa: „Jseš si jistý, že parent lze zapsat místo parents?“ Nejsem. „Ze zvýrazněného odkazu potřebuju zjistit zvýrazněný řádek.“ I kdybych chtěl používat jQuery, napsal bych to takhle: var řádek = this; while(řádek && řádek.tagName != "TR") řádek = řádek.parentNode; $(řádek).nějakáJQueryovost(); // atd. |
||
Kcko Profil |
#14 · Zasláno: 8. 1. 2011, 20:43:31 · Upravil/a: Kcko
Chamurappi:
Hm, očividně ne. Koukám, že parent s jedním argumentem funguje tím nejméně použitelným způsobem. Ano, proto jsem mu poradil parents, protože v jeho kódu žádné zanořené tabulky nejsou ani takový náznak nebyl. Kdyby byly, nebo bych náznak vycítil, napsal bych jinou variantu. joe: A ty to měj tak jak jsi napsal, protože když už jquery používáš, tak ho se vším všudy. Rozhodně ně to co Ti doporučil osvícený v javascriptu, který se také dokáže splést [#3] Chamurappi Hezký večer oboum, mám práci, reagovat už dnes nebudu. |
||
Časová prodleva: 13 let
|
0