kdyby/forms-replicator nefunkční podmínky pro zobrazení inputů
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- vymak
- Člen | 92
Ahoj,
chtěl bych se zeptat, zda někdo nevíte jak vyřešit problém
s zapodmínkováním zobrazení různých elementů při
dynamickém přidávání containerů pomocí Kdyby/Forms-Replicator.
http://postimg.org/…e/ur9c39otn/
http://postimg.org/…e/ehj60de5n/
Mám tento kus kódu. Po načtení zobrazení závislých inputů funguje v pořádku (viz screen 1). Pokud ale přidám dalšího operátora, přestane fungovat JavaScriptové zapodmínkování a zobrazí se všechny inputy (viz screen 2). Neřešil jste někdo podobný problém?
$operatorCount = 0;
$voiceTariff = $form->addDynamic("voice_tariff", function (Container $container) use ($form, & $operatorCount) {
$container->addSelect('operator', NULL, $this->prepareArr($this->phoneFacade->getOperatorListForSelect($this->getCountryIdFromLang())))
->setPrompt(_('-- vyberte --'));
$container->addText('other');
$container->addRadioList('type', NULL, [0 => 'Paušál', 1 => 'Kredit'])
->setAttribute('class', 'product-type')
->addCondition($form::EQUAL, 0)
->toggle('tariff-' . $operatorCount)
->toggle('indefinite-' . $operatorCount);
$container->addRadioList('business_type', NULL, [1 => 'Ano', 0 => 'Ne'])
->addCondition($form::EQUAL, 1)
->toggle('manage-service-' . $operatorCount);
$container->addText('tariff')
->setOption('id', 'tariff-' . $operatorCount);
$container->addText('price')
->addCondition($form::FILLED)
->addRule($form::INTEGER, _('Vyplňte prosím pouze číslo.'));
$this->addDateSelect($container, 'to', TRUE, 1, 5, TRUE);
$container->addCheckbox('indefinite')
->setOption('id', 'indefinite-' . $operatorCount);
$container->addCheckbox('manage_service')
->setOption('id', 'manage-service-' . $operatorCount);
//button for removing the new node
$container->addSubmit("removeNode")
->setAttribute('class', 'ajax')
->addRemoveOnClick($this->invalidateSnippet('voice_tariff'));
$operatorCount++;
}, 1);