Autor | Zpráva | ||
---|---|---|---|
jarda0001 Profil * |
#1 · Zasláno: 11. 2. 2011, 08:26:03
Ahoj,
prosím o radu. Na stránce mám div, který obsahuje tlačítka. Pokud kliknu na tlačítko provede se $.post - který obnoví tento div. Toto mi ale funguje jen při prvním kliknutí, pokud kliknu na tlačítko podruhé tak se nic neprovede? Kde by mohl být problém? Díky za radu jarda |
||
Cup Profil |
#2 · Zasláno: 11. 2. 2011, 08:58:25
tlačítka máš v onom divu? který obnovuješ i s tlačítky?
|
||
jarda0001 Profil * |
#3 · Zasláno: 11. 2. 2011, 08:59:10
Cup
ano |
||
Cup Profil |
#4 · Zasláno: 11. 2. 2011, 09:04:24 · Upravil/a: Cup
zkus toto: je to citace z jednoho mého tématu... myslím že to pomůže
Pokud jsem správně pochopil, že ten input vkládáš do stránky pomocí Ajaxu, tak na něj událost musíš přidat pomocí live. Kód by tedy mohl vypadat takto: $('#soubor').live('change', function() { alert('zmeneno'); }); využij příklad, zkus to live. Ale nevím zda to pomůže, jen myslím že ano. |
||
Chamurappi Profil |
#5 · Zasláno: 11. 2. 2011, 09:38:41
Reaguji na jardu0001:
Jakmile změníš innerHTML nějakého elementu, přestanou existovat elementy uvnitř a vzniknou zbrusu nové (byť třeba na pohled stejné), takže pokud ty staré měly přiřazené nějaké události, nové už nemají a musíš je opět přiřadit. Pokud to neumíš naprogramovat normálně (tedy vyvolat přiřazení z callbacku), musíš použít zmíněný live . Nebo můžeš zkusit zařídit, aby se staré tlačítko nezrušilo.
|
||
jarda0001 Profil * |
#6 · Zasláno: 11. 2. 2011, 10:40:20
2 Chamurappi:
to jsem nevěděl, je lepší callback nebo live? Můžeš dát prosím příklad toho přiřazení z callbacku? |
||
Chamurappi Profil |
#7 · Zasláno: 11. 2. 2011, 11:04:21
Reaguji na jardu0001:
„je lepší callback nebo live?“ V drtivé většině případů callback, protože live nepřemýšlí nad aktuální situací a přehodnocuje selektory po každé změně.
Ve světě CSS to lze přirovnat k rozdílu mezi nastavováním procentuálních rozměrů, které se přizpůsobují pouze změně rodiče, a rozměrům zadaným skrz expression , které se přepočítávají při jakékoliv změně zobrazení.
„Můžeš dát prosím příklad toho přiřazení z callbacku?“ Někde tam voláš $("#něco").click(function() { … }) — tak tohle zavolej i z callbacku.
|
||
jarda0001 Profil * |
#8 · Zasláno: 13. 2. 2011, 15:22:06
Chamurappi:
„Někde tam voláš $("#něco").click(function() { … }) — tak tohle zavolej i z callbacku.“ není mi to jasné jak se to volá. Můžeš to prosím vysvětlit jakože pro lamu? Dík jinak .live() funguje, ale jak to udělat s tímto kódem? // razeni voleb $( ".volba-sortable" ).sortable({ items: "li:not(.item-not-sort-volba)", update: function(event, ui){ var order = $(this).sortable('toArray').toString(); $.get('ajax/sort/data/' + order, null, function(data){ alerts(data); }); } }); $( ".volba-sortable" ).disableSelection(); Předem moc dík za odpovědi. |
||
Chamurappi Profil |
#9 · Zasláno: 15. 2. 2011, 11:13:42
Reaguji na jardu0001:
„není mi to jasné jak se to volá.“ To, co jsem napsal, je příklad toho volání. Nechtěl by ses raději nejprve naučit základy JS? Funkce, metody, objekty… co je callback… „ale jak to udělat s tímto kódem?“ Úplně stejně. Nechápu přesně, o co se snažíš, ale co by měla dělat funkce alerts ?
|
||
jarda0001 Profil * |
#10 · Zasláno: 15. 2. 2011, 11:57:40
Chamurappi:
díky za rady, už jsem na to přišel. |
||
Časová prodleva: 13 let
|
0