AJAX vyvolaný změnou selectu nepřekresluje snippet
- igor.pocta
- Člen | 100
Ahoj,
mám tu menší problém :) Nepřekresluje se mi snippet i když je v odpovědi. :/
Představte si tabulku, v jednom sloupci je stav. Každý řádek v tomto sloupci má SELECT na výběr 0–100% po 10. Celá tabulka je obalená do snippetu todolistTable. V layoutu mám zase snippet flashes.
Pak mám skriptík na změnu stavu po změně pole, který zavolá signál s parametry a podle něj se nastaví nový stav. Tahle logika funguje.
<script>
$(document).ready(function () {
$(".change-status").change(function(event) {
var item_id = $(this).attr("data-item_id");
var new_status = $(this).val();
$.ajax ({
url: {link changeStatus!},
data: {"status": new_status, "item_id": item_id},
type: 'get',
dataType:'json'
});
});
});
</script>
V presenteru mám signál takto:
public function handleChangeStatus($item_id, $status)
{
$this->service->setNewStatus($item_id, $status);
if ($this->isAjax()) {
$this->flashMessage("Nový stav úkolu: " . $status . "% byl nastaven");
$this->redrawControl();
} else {
redirect("this");
}
}
Jako parametr v redrawControl jsem zkoušel jak flashes, tak todolistTable, tak jej zkouším nechat prázdný. Ve všech případech se pošle v odpovědi serveru snippet v JSON ale už se mi nepřekreslí fragmenty stránky.
Můžete prosím pomoci ? Knihovnu nette.ajax.js mám a když to zkouším na komponenty (podle článku Dynamické snippety na planette), tak to funguje.
- igor.pocta
- Člen | 100
David Matějka napsal(a):
volej pomoci
$.nette.ajax({...})
Děkuji Davide, to pomohlo :))