Autor | Zpráva | ||
---|---|---|---|
otakar Profil * |
#1 · Zasláno: 4. 4. 2015, 19:17:47
Zdravím,
potřebuji pomoct a nevím si rady. Po kliknutí na zobrazit potřebuji zobrazit div .opendiv, ale nevím jak zjistit, aby zobrazil pouze ten div, ve kterém kliknu na odkaz Zobrazit. $('a.view').click(function(){ var link = $(this).attr('href'); var element = $(this); $.post("/zapis_kliknuti="+link,{ }, function(data, status){ $('.button').show(); // - tady mi to ale zobrazi vsechy .buttony.... }); return false; }); <div class="box" > <div class="name" > Skvělá párty </div> <a href='/go/box/dementos' class="view" > Zobrazit button </div> <div class="button" > Opravdu mate takovej hlad? <input type='submit' name='send' class='goS'> </div> </div> <div class="box" > <div class="name" > Skvělá párty </div> <a href='/go/box/dementos' class="view" > Zobrazit button </div> <div class="button" > Opravdu mate takovej hlad? <input type='submit' name='send' class='goS'> </div> </div> <div class="box" > <div class="name" > Skvělá párty </div> <a href='/go/box/dementos' class="view" > Zobrazit button </div> <div class="button" > Opravdu mate takovej hlad? <input type='submit' name='send' class='goS'> </div> </div> <div class="box" > <div class="name" > Skvělá párty </div> <a href='/go/box/dementos' class="view" > Zobrazit button </div> <div class="button" > Opravdu mate takovej hlad? <input type='submit' name='send' class='goS'> </div> </div> |
||
Taps Profil |
otakar:
musíš přesně specifikovat button, který se má zobrazit, nejlépe přes id |
||
otakar Profil * |
#3 · Zasláno: 4. 4. 2015, 19:32:54
Určitě se to dá zjistit i jinak.
Já chci zobrazit celý div s názvem .button. zkoušel jsem find ale nějak mě teď nenapadá jak by to šlo... |
||
Keeehi Profil |
Něco jako
element.parent().find (".button").show(); |
||
1Pupik1989 Profil |
#5 · Zasláno: 4. 4. 2015, 21:54:47
Máš chybu na 15. řádku, místo element A si ukončil Div.
Pokud budeš mít Div, co se má zobrazit za odkazem, tak můžeš použít metodu next
element.next('.button').show() Pokud bude hned za odkazem, tak můžeš selektor vynechat. |
||
otakar Profil * |
#6 · Zasláno: 4. 4. 2015, 22:00:11 · Upravil/a: otakar
Zkoušel jsem i
$(this).parent().closest(".button").show(); a nic <div class="box" > <div class="name" > Skvělá párty </div> <div class='gom_link' > <a href='/go/box/dementos' class="view" > Zobrazit button </a> </div> <div class="button" > Opravdu mate takovej hlad? <input type='submit' name='send' class='goS'> </div> </div> Zapoměl jsem tam dopsat div, omlouvám se. Myslel jsem to takto |
||
roofer Profil * |
#7 · Zasláno: 4. 4. 2015, 22:16:53
$('a.view').click(function(){ var link = $(this).attr('href'); var element = $(this); $.post("/zapis_kliknuti="+link,{ }, function(data, status){ $(this).next('.button').show(); }); return false; }); |
||
otakar Profil * |
#8 · Zasláno: 4. 4. 2015, 22:52:31
Taky nefunguje :/
|
||
roofer Profil * |
#9 · Zasláno: 4. 4. 2015, 23:00:00
otakar:
Nezobrazí nic nebo všechno? |
||
otakar Profil * |
#10 · Zasláno: 4. 4. 2015, 23:00:48
Právě že nic...post funguje když jsem po něm přidal alert, ale nezobrazí se.
když dám pouze $(.button).show() tak to zobrazí všechmy |
||
Chamurappi Profil |
#11 · Zasláno: 4. 4. 2015, 23:25:54
Reaguji na roofera:
„ $(this).next('.button').show(); “
V this uvnitř callback funkce AJAXu už nebude odkaz. Asi jsi chtěl uvést element místo $(this) a i pak by to nefungovalo, pokud má odkaz v něčem obalený, jak píše v příspěvku [#6].
Reaguji na otakara: Moc jsem nepochopil, k čemu to celé má být. Jaký smysl má, že ten odkaz je odkazem? Když si ho rozkliknu do nového okna, co tam uvidím? Nevíme, co všechno jsi v uvedeném příkladu kódu ještě osekal a vynechal (podobně jako ten <div> ) a zdá se, že i drobné opravy jsou nad tvé síly, takže nemá smysl šít kód na míru nějakému polotovaru. Doporučuji popsat ucelenější zadání.
„Zkoušel jsem i $(this).parent().closest(".button").show(); “
Název funkce closest trochu lže, hledá v předcích (rodičích, rodičích rodičů atd.). Takže bys mohl hledat třeba nejbližší ".box" a v něm pak find em něco… třeba.
|
||
Keeehi Profil |
#12 · Zasláno: 4. 4. 2015, 23:27:38
otakar:
Ten parent tam musí být 2x, protože je více zanořené, než jsem si předtím všiml. A nebo i jinak s tím nextem. |
||
roofer Profil * |
#13 · Zasláno: 4. 4. 2015, 23:45:45
To Chamurappi:
Máš pravdu, jak jsem to kopíroval, odmazal jsem levou stranu, zůstalo tam this, což opravdu po Ajaxovém načtení nemůže zafungovat. V úvodním přispěvku je jen odkaz, až když jsi mě upozornil, uviděl jsem, že tam je ještě div, který to obaluje. Moje nepozornost. |
||
1Pupik1989 Profil |
#14 · Zasláno: 5. 4. 2015, 09:31:18
Přesně jako píše [#12] Keeehi v ukázce. Napsal bych:
element.parent().next('.button'); nebo element.parent().next();
|
||
Časová prodleva: 10 let
|
0