viacnasobna invalidacia snippetu
- duskohu
- Člen | 778
Caute viete mi poradit?
v komponente taskTableFilter mam select a po onChange pomocov nette.ext odoslem
formular a po odoslani volam rodica [presenter] a invalidujem jeho komponentu
taskTable
ked odoslem formular tlacitkom prebehne vsetko ok, ale ked odoslem form
onChange pomocov nette.ext
tak 1 krat sa mi odosle len 1 poziadavka, ale znovu zmenim select tak sa ta
poziadavka odosle uz 2 krat
ked odoslem znovu tak sa odosle poziadavka uz 4 krat .. 8 krat a tak dalej,
proste sa nasobia, neviete preco?
mam presenter v ktorom mam komponentu
public function createComponentTaskTableFilter()
{
$taskTableFilter = new TaskTableFilter();
return $taskTableFilter;
}
a v latte presenetu mam :
{snippet taskTableFilter}
{control taskTableFilter}
{/snippet}
{snippet taskTable}
{control executorIncompleteTasks}
{/snippet}
v komponente po odoslani formulara volam rodica [presenter] a invalidujem jeho komponentu taskTable
$this->getParent()->invalidateControl('taskTable');
nette.ext
$.nette.ext('select-onchange', {
load: function () {
$('select.ajax').change(function (e) {
$(this).closest('form').submit();
return false;
});
}
});
- Vojtěch Dobeš
- Gold Partner | 1316
Pokud ten <select>
zůstává navěky na místě, změň
klíč z load
na init
. Anebo si to udělej
bulletproof:
$('select.ajax').off('change.myapp').on('change.myapp', function (e) {
$(this).closest('form').submit();
return false;
});