События 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 вы можете сделать слушатель, который запускается, когда родительский выпадающий список изменяет свое значение.