Nové hodnoty v checkboxu se po snippet refresh neodešlou

kachna96
Člen | 9
+
0
-

Ahoj,
mám formulář, který obsahuje několik položek, mimo jiné i Select box a CheckboxList. V závislosti na hodnotě v Select boxu se překreslí snippet a CheckboxListu nastavím nové hodnoty z databáze. Tohle všechno funguje skvěle.
Problém nastane když formulář odešlu, nové položky v CheckboxListu se prostě odmítají odeslat, odešle se jenom ta část, která je společná pro všechny možnosti. Nevíte náhodou někdo, co s tím?
Díky!

public function create(callable $onSuccess)
{
    $form = $this->factory->create();

    $factionsList = array(
        'Skellige' => 'Skellige',
        'Northern Realms' => 'Northern Realms',
        'Monster' => 'Monsters',
        'Scoiatael' => 'Scoia\'tael',
        'Nilfgaard' => 'Nilfgaard'
    );

    $leaders = $this->cards->getByFactionPairs(key($factionsList), 'Leader', false);

    $form->addSelect('faction', 'Select a faction', $factionsList)
        ->setAttribute('class', 'form-control');

    $form->addCheckboxList('leader', 'Select a leader', $leaders);

    $form->addSubmit('send', 'Send')
        ->setAttribute('class', 'btn btn-primary');

    $form->onSuccess[] = function (Form $form) use ($onSuccess){
        $values = $form->getValues();
        ...
        $onSuccess();
    };

    return $form;
}
public function actionNewMetaSnapshotDeck()
{
    $this->template->form = $this['newMetaSnapshotDeckForm'];
}
{snippetArea wrapper}
    {form newMetaSnapshotDeckForm}
        <div class="form-group row">
            <span class="col-sm-2 col-form-label">{label faction /}</span>
            <div class="col-sm-10">
                {input faction}
            </div>
        </div>
		...
        {snippet changeFaction}
            <div class="form-group row">
                <span class="col-sm-2 col-form-label">{label leader /}</span>
                <div class="col-sm-10">
                    <div class="checkbox">
                        {foreach $form['leader']->items as $key => $label}
                            <input type="checkbox" n:name="leader:$key">
                            <label n:name="leader:$key">
                                {$label}
                            </label>
                            <br>
                        {/foreach}
                    </div>
                </div>
            </div>
        {/snippet}
		...
        <div class="form-group row text-center">
            <span class="col-sm-2 col-form-label"></span>
            <div class="col-sm-10">
                {input send}
            </div>
        </div>
    {/form}
{/snippetArea}
public function handleFactionChange($faction)
{
    $leaders = $this->cards->getByFactionPairs($faction, 'Leader', false);
    $this['newMetaSnapshotDeckForm']['leader']->setItems($leaders);
    $this['newMetaSnapshotDeckForm']['leader']->setDefaultValue(key($leaders));
    if ($this->isAjax()) {
        $this->redrawControl('wrapper');
        $this->redrawControl('changeFaction');
    } else {
        $this->redirect('this');
    }
}