Доброго времени суток! Подскажите пожалуйста, как можно задавать атрибуты для option в выпадающем списке, например класс, используя JHTML. Заранее благодарю!
Код (PHP): echo JHTML::_('select.genericlist', $category, 'category', 'class="inputbox"','id', 'name' );
vesy cпасибо помощь, но это немного не то, нужно что бы получилось след.: <select name="name"> <option value="Значение по умолчанию" class="default-val">Значение по умолчанию</option> <option value="Значение 1">Значение 1</option> </select> Главное это присвоение класса в option. Как это сделать, я и не знаю.
Как задать атрибут определенному элементу - сам не знаю)) В таких случаях пользуюсь foreach Например в модели Код (PHP): $db = &JFactory::getDBO(); $query = "SELECT `name`, ёшвё FROM #__table"; $db->setQuery($query); $data = $db->loadObjectList(); А потом выводим Код (PHP): <select name="test"> <?php if ($this->data) { $id = 3; //пусть это id элемента, которому надо присвоить класс foreach ($this->data as $k=>$v) { ?> <option value="<?php echo $v->id ?>" <?php echo ( $v->id == $id ) ? ' class="default-value" ' : '' ?> ><?php echo $v->name ?> </option> <?php } } ?> </select> Если надо сделать типа <option value="0">Выберите</option>, то Код (PHP): $data[] = JHTML::_('select.option', '0', "Выберите", 'id', 'name' ); //Добавляем option echo JHTML::_('select.genericlist', $data, 'test', 'class="inputbox"','id', 'name' );
Итак, после долгого копания в классах JHTML проблема была решена. Option создаем как обычно, только 3-м параметром указываем массив с ключами: option.attr = 'название атрибута', attr='значение атрибута' Код (PHP): JHTML::_( 'select.option', $value, $name, array('option.attr'=>'class', 'attr'=>'class="default-val"')); Когда создаем select третий параметр, указываем в виде массива со след. возможными ключами: id='id списка, если нужно, по-умолчанию используется имя' list.attr = 'атрибуты списка', list.select = 'выбранный элемент(selected)', list.translate='использовать JTEXT или нет' option.attr = 'атрибут option', option.value= 'поле, которое будет использоваться для value option'а, по-умолчанию value', option.text= 'поле, которое будет использоваться для text option'а, по-умолчанию text', Код (PHP): JHtml::_('select.genericlist',$options,$name, array( 'list.attr' => ' class="ajax-select" alt="cities" style="float: left;"', 'option.attr' => 'атрибут, который будет использоваться в option', 'list.select' =>$selected ) ); P.S. функция создания select должна иметь не больше 3 аргументов Если кто-то нашел избыточность, делитесь идеями.