Latte – refresh po zavolaní AJAX handle

Aris
Člen | 48
+
0
-

V snippete pridávam dynamicky cez AJAX jednotlivé div-y. Divy obsahujú tlačidlo pre zmazanie. Napriek pridanej class ajax, v rámci dokresleného kódu AJAX odkaz nefunguje. Vždy prebehne ne-ajaxové vyvolanie handle.

Pokúšal som sa i o preventDefault() a následný custom ajax request, avšak ani jQuery nereaguje na daný odkaz.

<div class="ajax list-group" n:snippet="selectedPotravina" data-ajax-append="true">
{if isset($vybranaPotravina)}
    <div  class=" list-group-item list-group-item-action flex-column align-items-start " >

            <div class="row">
            <div class=" col-md-12 clearfix">
            <h5 class="mb-1 d-inline-block clearfix"><strong>{$vybranaPotravina['nazov']}</strong></h5>
            </div>
            <div class="col-md-3">
                <img src="/ziaktivne/www/images/cicerovy-gulas-na-marocky-sposob.jpg" class="img-responsive ingredient-thumb">
            </div>
            <div class="col-md-9">
                <small><strong>POZN: </strong>Nadrobno krájaná </small>
             </div>
             <a class="ajax btn btn-danger pull-right m-r-20" n:href="deletePotravina! $vybranaPotravina['id_potraviny']"><i class="mdi mdi-delete"></i></a>
           </div>
    </div>
    {/if}
</div>

Chcel som sa takto vyhnúť multiplier formu a mať vždy po jednom prvky uložené v DB. Ďakujem za rady :) .

CZechBoY
Člen | 3608
+
+1
-

Pokud používáš nette.ajax.js:
Já po každým překreslení snippetu volám $.nette.load() a vše funguje jak má.
Mám na to třeba tohle rozšíření

$.nette.ext('load_nette_after_snippets', {
	init: function() {
		this.ext('snippets').after(function() {
			$.nette.load();
		});
	}
});

$.nette.init();
Aris
Člen | 48
+
0
-

Ďakujem, veľmi užitočné riešenie. Problém to instantne vyriešilo :).