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 :).