События AJAX и onClick для элементов jform в Joomla

Мне нужно заполнить дочерний раскрывающийся список на основе выбора, сделанного в родительском раскрывающемся списке, для которого требуется AJAX. Но я не понимаю, как я могу добавить события onClick в jform, где поля определены в тегах xml. Я использую Joomla 2.5.3 для вашей информации.

Любая помощь будет оценена.

<field
        name="fkclass"
        type="text"
        label="Class"
        description=""
        class="inputbox"
        required="true">
        <option value="">Select a Class</option>
    </field>

1 ответ

Вы должны создать свое собственное поле http://docs.joomla.org/Creating_a_custom_form_field_type. Затем вы должны загрузить свой javascript/AJAX-код во время функции get input.

Например, я создал собственное красивое цветное поле, которое выглядит так:

defined('_JEXEC') or die();

class JFormFieldDpcolor extends JFormFieldText
{

    protected $type = 'Dpcolor';

    public function getInput ()
    {
        $document = JFactory::getDocument();
        $document->addScript(JURI::root() . 'administrator/components/com_dpcalendar/libraries/jscolor/jscolor.js');
        return parent::getInput();
    }

    public function setup (SimpleXMLElement $element, $value, $group = null)
    {
        $element['class'] = $element['class'] . ' color' . ($element['required'] ? '' : ' {required:false}');
        $return = parent::setup($element, $value, $group);
        return $return;
    }
}

Это должно помочь вам начать. В коде javascript вы можете сделать слушатель, который запускается, когда родительский выпадающий список изменяет свое значение.

Другие вопросы по тегам