| 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 findem 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: 11 let
|
|||
0