Magento使用javascript函数在管理表单中添加字段依赖项

时间:2014-08-29 18:00:51

标签: javascript php jquery magento

在自定义管理表单中,我添加了自定义标签和一些自定义字段。在这里,我需要为字段添加字段依赖性,如下所述。

**如果字段zipbasedprice_isrange设置为yes,那么我需要显示其他两个字段&如果设置为no,则只显示一个字段。 如何使用以下表格实现此目的?

字段依赖关系应该在zipbasedprice_isrange,zipbasedprice_zip,zipbasedprice_zip_from_zip& zipbasedprice_zip_to_zip。**

我尝试了默认字段依赖项,但它没有用。帮帮我,如何使用javascript函数实现这个?

  $isRange = $fieldset->addField('zipbasedprice_isrange', 'select', array(
    'name' => 'zipbasedprice_isrange',
    'label' => Mage::helper('zipbasedprice')->__('Is Range?'),
    'values' => array(
        array(
            'value' => false,
            'label' => Mage::helper('zipbasedprice')->__('No'),
        ),
        array(
            'value' => true,
            'label' => Mage::helper('zipbasedprice')->__('Yes'),
        )
    ),
   'value' => false,
   'onchange' => 'onIsZipRangeChange()',
   'required' => false,

'风格' => '宽度:275px'       ));

$fieldset->addField('zipbasedprice_zip', 'text', array(
    'name' => 'zipbasedprice_zip',
    'label' => Mage::helper('zipbasedprice')->__('Zip Code'),
    'class' => 'input',
    'required' => true,
'style' => 'width:268px',
    'value' => '*',
    'maxlength' => 6,
 ));


 $fieldset->addField('zipbasedprice_zip_from_zip', 'text', array(
    'name' => 'zipbasedprice_zip_from_zip',
    'label' => Mage::helper('zipbasedprice')->__('Zip Code From'),
    'class' => 'input',
    'required' => true,
'style' => 'width:268px',
    'value' => '*',
    'maxlength' => 6,
 ));

  $fieldset->addField('zipbasedprice_zip_to_zip', 'text', array(
    'name' => 'zipbasedprice_zip_to_zip',
    'label' => Mage::helper('zipbasedprice')->__('Zip Code To'),
    'class' => 'input',
    'required' => true,
'style' => 'width:268px',
    'value' => '*',
    'maxlength' => 6,
 ));

1 个答案:

答案 0 :(得分:0)

在文件js / mage / adminhtml / form.js中,您将找到一个名为FormElementDependenceController的Javascript类。

您还将找到如何在类构造函数中构造依赖项的解释。

你可以试试这个:

new FormElementDependenceController(
['zipbasedprice_zip','zipbasedprice_zip_from_zip','zipbasedprice_zip_to_zip'],
{'zipbasedprice_isrange':1}
);