ajax jak vložim data do snippetu
- vtitl
- Člen | 29
Ahoj,
potřebuji do snippetu vypsat něco do snippetu comments. Je to klik na div, ne na odkaz (v divu se nachází další odkazy, takže to nemůže být odkaz ;))
AJAX se mi daří používat místo normálních odkazů nebo při odesílání formulářů, ale tohle se mi nedaří. Zkusím nastínit, jak jsem to dělal (mám div s id)
<div class="item{if $iterator->first}_first{/if}" id="{$item->id}">
{!$item->text|itemProccessRead}
</div>
Potom mám CommentsPresenter, který má jen renderDefault (první dotaz vlastně, jak mu předám parametr?), ten kromě toho, že nahází ty věci do šablony, jak potřebuji, tak teď dělá:
if ($this->isAjax())
$this->invalidateControl('comments');
A pak JS:
$("div.item").live("click", function (event) {
event.preventDefault();
$.get("../comments");
});
K tomuhle mám také dotaz, tady asi vůbec není dobré použít takhle
relativní cestu, jak to obejít? :)
A je tahle cesta dobrá? Případně, jak na to jít jinak (k čemu slouží
payload?)?
Díky za rady
- newPOPE
- Člen | 648
@studna ma v podstate pravdu. No klikom na div by som sa vyhol nakolko mas este v nom dalsie odkazy. Skor by som to riesil cez ovladaci prvok (odkaz) ktory potom mozes pouzit uplne standardne.
Cize mas div
a k nemu ovladaci a
,
a
-cku nastavis normalne n:href
ktory parametrizujes
ako potrebujes. A napises k nemu JS handler na click…
S tym parametrom mi to nie je jasne. Pokial chces dostat parameter do
requestu aby si k nemu mohol pristupit v Presenteri
tak opat
klasika
dajme tomu ze:
<a n:href="Xyz:default param1=>param1, param2=>param2">click me!</a>
s tymi parametrami, potom kludne pracujes v app (presenteroch)
public function renderDefault($param1, $param2) {}
este tip ;-)
<div n:class="$iterator->first?item_first:item">