Multiselect a ajaxově dodávaná data
- ragulin
- Člen | 58
Zdravím, mám takový problém.
Mám formulář:
public function createForm()
{
$form = new Form();
$form->addMultiSelect('polozka', 'popis');
return $form;
}
/*Fyzicky to mám v presenteru a form factory, tady ale dávám pod sebe*/
protected function createComponentForm()
{
$form = $this->formFactory->createForm();
$form->onSuccess[] = [$this, 'FormSucceeded'];
return $form;
}
šablona:
<div class="container">
{snippet Form}{form Form, class=>'form'}
<div class="modal-body">
<div n:class="form-group">
<div class="input-group" id="select2example" data-link="{link select2Array!}">
<div class="input-group-addon">
{label polozka}
</div>
</div>
</div>
</div>
{/snippet}
</div>
Handle mi posílá data do JS pro plugin select2:
public function handleSelect2Array()
{
/*Nějaká definice $array předchází, nepodstatné*/
$this->payload->results = json_encode($array);
$this->sendPayload();
}
Select2 mi zpracovává data, a skutečně mi je pošle, takže mohu vybrat z pole které pošlu z handleru. Ale tady nastává problém. V moment, kdy dám submit formuláře, tak se mi odešlou všechna ostatní data, ale v poli „polozka“ , tom multiselectu, dostávám prázdné pole…
Napadlo mě, že bych měl data z handle poslat do Form Factory a předat je
multiselectu, ale nevím jak to udělat, když ten handle funguje v ajaxu a
form factory se vytváří při načtení stránky. Mohl by mě prosím někdo
trknout?
Děkuji
Editoval ragulin (8. 3. 2019 12:06)