Autor | Zpráva | ||
---|---|---|---|
pmasarik Profil |
#1 · Zasláno: 6. 9. 2009, 10:08:31
Nazdar,
Mám v tabulke link ktorý po kliknutí zmení hodnotu v DB a vráti nový link ktorý má opačnú hodnotu (ano/nie) ale po kliknuti na ten nový link to už nefunguje. Prvý link, po kliknutí sa zmení záznam v DB a vráti nový opačný link. <td><a id="11|ano" class="zmenit" href="?edit&zobrazit=11|ano">ano</a></td> $('a.zmenit').click(function(e) { e.preventDefault(); // toto neviem co robi, mozno bude chyba v tom, ale nikde som nenasiel poriadne vysvetlenie, jasne ze som to obkukal s ineho prikladu var parent = $(this).parent(); $.ajax({ type: 'get', url: 'ajax-zobrazit.php', data: 'ajax=1&zobrazit=' + $(this).attr('id'), success: function(data) { parent.html(data); } }); }); Druhý vrátený link, po kliknutí sa už neaplikuje JS funkcia a ja neviem prečo... <td><a id="11|nie" class="zmenit" href="?edit&zobrazit=11|nie">nie</a></td> Nevie mi niekto prosím vysvetliť kde robím chybu? |
||
Nox Profil |
#2 · Zasláno: 6. 9. 2009, 10:29:50
No měníš celé html, tak je možný že se s tím smaže i navázaná událost, zkus místo html jen změnit href a text
|
||
pmasarik Profil |
#3 · Zasláno: 6. 9. 2009, 11:22:33
S jquery ešte len začínam, preto ak by si mohol poradiť pomocou príkladu bol by som rád.
Už som skúsil nahradiť toto parent.html(data); týmto, ale bez úspechu. $('a.zmenit').replaceWith(data); Dá sa ešte nejako inak spracovať výstup? Prípadne použijem aj iné riešenie ak má niekto nápad ako to urobiť. |
||
Nox Profil |
#4 · Zasláno: 6. 9. 2009, 14:42:19
// ... success: function(data){ $(this).attr("href", "...").text("..."); } |
||
pmasarik Profil |
#5 · Zasláno: 6. 9. 2009, 19:48:06
Super dík za radu, už mi to ide...
Ale aj tak by som rád vedel aký je rozdiel medzi tým že zmením len .text() a .attr("href","") a tým že tam vrátim do tej tabulky celý nový link? Možno je to základná informácia, ktorá sa ale bohužial ťažko hladá na nete ked človek nevie čo má hladať. |
||
Časová prodleva: 15 let
|
0