Check updated code, it should work. <pre> <code> namespace Siarhey\Test\Block\Adminhtml\Promo\Quote\Edit\Tab; class Actions extends \Magento\Backend\Block\Widget\Form\Generic implements \Magento\Backend\Block\Widget\Tab\TabInterface { /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Framework\Registry $registry * @param \Magento\Framework\Data\FormFactory $formFactory * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, array $data = [] ) { parent::__construct($context, $registry, $formFactory, $data); } public function getTabLabel() { return __('Actions'); } public function getTabTitle() { return __('Actions'); } public function canShowTab() { return true; } public function isHidden() { return false; } protected function _prepareForm() { $model = $this->_coreRegistry->registry('current_promo_quote_rule'); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('rule_'); $fieldset = $form->addFieldset( 'action_fieldset', ['legend' => __('Rules')] ); $parentField = $fieldset->addField( 'simple_action', 'select', [ 'label' => __('Apply'), 'name' => 'simple_action', 'options' => [ 1 => __('Amount 1'), 2 => __('Discount 1'), 3 => __('Amount 2'), 4 => __('Discount 2'), ] ] ); $childFieldOne = $fieldset->addField( 'amount', 'text', [ 'name' => 'amount', 'required' => true, 'class' => 'validate-not-negative-number', 'label' => __('Amount') ] ); //$model->setAmount($model->getAmount() * 1); $childFieldTwo = $fieldset->addField( 'percent', 'text', ['name' => 'percent', 'label' => __('Percent')] ); //$model->setPercent($model->getPercent() * 1); $this->setChild( 'form_after', $this->getLayout()->createBlock( 'Magento\Backend\Block\Widget\Form\Element\Dependence' )->addFieldMap( $parentField->getHtmlId(), $parentField->getName() )->addFieldMap( $childFieldOne->getHtmlId(), $childFieldOne->getName() )->addFieldMap( $childFieldTwo->getHtmlId(), $childFieldTwo->getName() )->addFieldDependence( $childFieldOne->getName(), $parentField->getName(), '1,3' )->addFieldDependence( $childFieldTwo->getName(), $parentField->getName(), '2,4' ) ); //$form->setValues($model->getData()); /*if ($model->isReadonly()) { foreach ($fieldset->getElements() as $element) { $element->setReadonly(true, true); } }*/ $this->setForm($form); return parent::_prepareForm(); } } </code> </pre>