po invalidovani selctboxu na ktorom je naviazany onChange js extenze prestane tato extenze fungovat
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- duskohu
- Člen | 778
Caute neviete mi poradit? Mam selectBox, na ktorom mam naviazanu extenziu. Tento selectBox je v snippete, ked snippet invalidnem selectBox sa prekresli a extenze prestane reagovt. Neviete mi poradit ako to riesit?
extenze
$.nette.ext('data-dependent-select-box', {
init: function () {
$('select[data-dependent-select-box]').on("change", function(e){
e.preventDefault();
var data = $(this).data('dependentSelectBox');
if(data.url !== 'undefined'){
$.nette.ajax({
url: data.url,
data: data.param + $(this).val()
});
}
});
}
});
Mimochodom keby niekoho napadlo preco prekreslujem tento selectBox. Tak napr ked dam resetnut formular ajaxovo. Inak tento selectBox len vola handle ktory invaliduje dalsi selectBox
{snippet form}
{input selectBox1}
{snippet selectBox1}
{input selectBox2}
{/snippet}
{/snippet}
- Lopata
- Člen | 139
Děje se to nejspíš z důvodu, který popsal mkoubik.
Můžeš to také vyřešit změnou způsobu navěšování event handleru.
Dřív se na tohle používala jQuery metoda .live()
<script>
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+
</script>
Pro Tvůj případ by tedy mohlo fungovat
<script>
$('body').on('change', 'select[data-dependent-select-box]', function(e) {
...
});
</script>