/** * Output the region element and javasctipt that makes it dependent from country element * * @param Varien_Data_Form_Element_Abstract $element * @return string */ public function render(Varien_Data_Form_Element_Abstract $element) { $country = $element->getForm()->getElement('country_id'); if (!is_null($country)) { $countryId = $country->getValue(); } else { return $element->getDefaultHtml(); } $regionId = $element->getForm()->getElement('region_id')->getValue(); $quoteStoreId = $element->getEntityAttribute()->getStoreId(); $html = '<tr>'; $element->setClass('input-text'); $element->setRequired(true); $html .= '<td class="label">' . $element->getLabelHtml() . '</td><td class="value">'; $html .= $element->getElementHtml(); $selectName = str_replace('region', 'region_id', $element->getName()); $selectId = $element->getHtmlId() . '_id'; $html .= '<select id="' . $selectId . '" name="' . $selectName . '" class="select required-entry" style="display:none">'; $html .= '<option value="">' . $this->_factory->getHelper('customer')->__('Please select') . '</option>'; $html .= '</select>'; $html .= '<script type="text/javascript">' . "\n"; $html .= '$("' . $selectId . '").setAttribute("defaultValue", "' . $regionId . '");' . "\n"; $html .= 'new regionUpdater("' . $country->getHtmlId() . '", "' . $element->getHtmlId() . '", "' . $selectId . '", ' . $this->helper('directory')->getRegionJsonByStore($quoteStoreId) . ');' . "\n"; $html .= '</script>' . "\n"; $html .= '</td></tr>' . "\n"; return $html; }
public function render(Varien_Data_Form_Element_Abstract $element) { if ($country = $element->getForm()->getElement('country_id')) { $countryId = $country->getValue(); } else { return $element->getDefaultHtml(); } $regionId = $element->getForm()->getElement('region_id')->getValue(); $html = '<tr>'; $element->setClass('input-text'); $html .= '<td class="label">' . $element->getLabelHtml() . '</td><td class="value">'; $html .= $element->getElementHtml(); $selectName = str_replace('region', 'region_id', $element->getName()); $selectId = $element->getHtmlId() . '_id'; $html .= '<select id="' . $selectId . '" name="' . $selectName . '" class="select required-entry" style="display:none">'; $html .= '<option value="">' . AO::helper('customer')->__('Please select') . '</option>'; $html .= '</select>'; $html .= '<script type="text/javascript"> if ($("' . $country->getHtmlId() . '") != undefined) { new regionUpdater("' . $country->getHtmlId() . '", "' . $element->getHtmlId() . '", "' . $selectId . '", ' . $this->helper('directory')->getRegionJson() . '); } </script>'; $html .= '</td></tr>' . "\n"; return $html; }