Ztráta class po redrawControl
- jedlicka
- Člen | 70
Ahoj,
Mám v šabloně (modal) formulář, který obsahuje select se třídou select2 a vše je OK:
<form n:snippet="modal-body">
<input type="hidden" id="customerID" value="{ifset $cust}{$cust}{/ifset}" />
<select id="users" class="form-control select2">
<option value="-1">Vyberte</option>
{ifset $fleets}
{foreach $fleets as $key => $fleet}
<option value="{$key}">{$fleet}</option>
{/foreach}
{/ifset}
</select>
</form>
Když se změní obsah selectu (proměnná $fleets
)
v presenteru a chci aktualizovat snippet:
$this->template->fleets = $fleets;
$this->redrawControl('modal-body');
, tak se „ztratí“ třída select2, tzn. že select je bez stylizace select2 (a je pouze v základním bootstrapu).
Nevíte, jak aktualizovat select, aniž by došlo ke ztrátě třídy?
Díky.
Martin
- Ondřej Kubíček
- Člen | 494
ta třída se nemůže jen tak ztratit, když tam zůstane classa
form-control
, tak musí i select2
když se podíváš do requestu co dojde ze server, opravdu tam není? není možné že ji odstraní až nějaky js?
- jedlicka
- Člen | 70
Koukal jsem, že ta třída select2 nezmizí (je tam stále), ale ta funkčnost nefunguje, tzn. že se nenačte JS (select2.min.js), resp. to vypadá, že všechny JS pro šablonu nejsou nečtené. Hlavně to vypadá, že to není refreshem snippetu, ale zavoláním:
$.nette.ajax({
url: "?do=selectFleet",
type: 'GET',
data: {
customerID: id,
customerName: uid
},
success: function (success) {
alert('done');
}
})