Připojení javascriptu po proběhnutí ajaxu
- martyk
- Člen | 17
Zdravím,
nevím si rady s jedním asi jednoduchým problémem. Mám dva multiselecty na které aplikuji jQuery plugin Chosen https://harvesthq.github.io/chosen/. A fungovat to má tak, že po výběru hodnot z prvního výběru se ajaxem aktualizují možnosti k výběru v druhém multiselectu. Můj problém je v tom, že potom co ajax proběhne a odpovídající položky se správně nahrají do druhého multiselectu, tak se už nepřipojí ten požadovaný vzhled.
Zkoušel jsem tam ten Chosen připojit třeba takto, ale zatím bez výsledku. Asi tam budu muset nějak připojit i ty soubory s javascriptem a css, ale u toho jsem se zasekl. Teď totiž konzole vypíše, že $(…).chosen is not a function…
<script>
$.nette.ext('ajax', {
success: function(payload) {
$("#frm-generatorForm-prilezitosti").chosen();
}
});
</script>
Děkuji za případné rady
- CZechBoY
- Člen | 3608
Já jquery pluginy aplikuji takto:
<script>
$.nette.ext('ajax', {
init: function() {
this.ext('snippets').after(function ($snippet) {
$("#frm-generatorForm-prilezitosti", $snippet).chosen();
});
}
});
</script>
S tou neexistující metodou bych hádal že nemáš načtenou knihovnu.
Editoval CZechBoY (21. 6. 2018 10:48)
- martyk
- Člen | 17
Děkuji za odpověď. A jaké existují způsoby pro to připojení těch potřebných souborů? Mám je totiž jenom normálně v <head></head> a právě potom, co proběhne ajax, tak už tam na ně asi ten multiselect po překreslení nedosáhne. Je možné to nějak přidat třeba do toho zápisu $.nette.ext(‚ajax‘, {… ? Zkoušel jsem různě hledat, ale zatím v tom trochu plavu.