CJuiAutoComplete
| Пакет | zii.widgets.jui |
|---|---|
| Наследование | class CJuiAutoComplete » CJuiInputWidget » CJuiWidget » CWidget » CBaseController » CComponent |
| С версии | 1.1.2 |
| Исходный код | framework/zii/widgets/jui/CJuiAutoComplete.php |
CJuiAutoComplete отображает поле автозаполнения.
CJuiAutoComplete инкапсулирует плагин JUI autocomplete.
Чтобы использовать этот виджет, вы можете вставить следующий код в представление:
Настроив свойство options, вы можете указать параметры, которые необходимо передать плагину JUI autocomplete. Обратитесь к документации JUI AutoComplete API для возможных параметров (пар имя-значение) и к странице JUI AutoComplete для общего описания и демо.
Настроив свойство source, вы можете указать, где искать параметры автозаполнения для каждого элемента. Если source — массив, используется список для автозаполнения. Вы также можете настроить sourceUrl для получения элементов автозаполнения из ответа ajax.
CJuiAutoComplete инкапсулирует плагин JUI autocomplete.
Чтобы использовать этот виджет, вы можете вставить следующий код в представление:
$this->widget('zii.widgets.jui.CJuiAutoComplete',array(
'name'=>'city',
'source'=>array('ac1','ac2','ac3'),
// additional javascript options for the autocomplete plugin
'options'=>array(
'minLength'=>'2',
),
'htmlOptions'=>array(
'style'=>'height:20px;',
),
));
Настроив свойство options, вы можете указать параметры, которые необходимо передать плагину JUI autocomplete. Обратитесь к документации JUI AutoComplete API для возможных параметров (пар имя-значение) и к странице JUI AutoComplete для общего описания и демо.
Настроив свойство source, вы можете указать, где искать параметры автозаполнения для каждого элемента. Если source — массив, используется список для автозаполнения. Вы также можете настроить sourceUrl для получения элементов автозаполнения из ответа ajax.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| actionPrefix | строка | префикс к идентификаторам действий. | CWidget |
| attribute | строка | атрибут, связанный с этим виджетом. | CJuiInputWidget |
| controller | CController | Возвращает контроллер, к которому принадлежит этот виджет. | CWidget |
| cssFile | смешанный | имя файла CSS темы. | CJuiWidget |
| htmlOptions | массив | HTML-атрибуты, которые должны быть отображены в HTML-теге, представляющем виджет JUI. | CJuiWidget |
| id | строка | Возвращает идентификатор виджета или генерирует новый, если требуется. | CWidget |
| model | CModel | модель данных, связанная с этим виджетом. | CJuiInputWidget |
| name | строка | имя входных данных. | CJuiInputWidget |
| options | массив | начальные JavaScript-параметры, которые должны быть переданы плагину JUI. | CJuiWidget |
| owner | CBaseController | Возвращает владельца/создателя этого виджета. | CWidget |
| scriptFile | смешанный | основной JUI-файл JavaScript. | CJuiWidget |
| scriptUrl | строка | корневой URL, который содержит все JUI-файлы JavaScript. | CJuiWidget |
| skin | смешанный | имя скина, которое нужно использовать для этого виджета. | CWidget |
| source | смешанный | элементы, из которых автозаполнение должно выбирать. | CJuiAutoComplete |
| sourceUrl | смешанный | URL, который вернёт JSON-данные в качестве элементов автозаполнения. | CJuiAutoComplete |
| theme | строка | имя темы JUI. | CJuiWidget |
| themeUrl | строка | корневой URL, который содержит все папки тем JUI. | CJuiWidget |
| value | строка | значение входных данных. | CJuiInputWidget |
| viewPath | строка | Возвращает директорию, содержащую файлы представления для этого виджета. | CWidget |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CWidget |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение по его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства нулевым. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в значение null. | CComponent |
| actions() | Возвращает список действий, используемых этим виджетом. | CWidget |
| asa() | Возвращает объект поведения с указанным именем. | CComponent |
| attachBehavior() | Присоединяет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик события к событию. | CComponent |
| beginCache() | Начинает кэширование фрагмента. | CBaseController |
| beginClip() | Начинает запись клипа. | CBaseController |
| beginContent() | Начинает рендеринг контента, который должен быть оформлен указанным представлением. | CBaseController |
| beginWidget() | Создаёт виджет и выполняет его. | CBaseController |
| canGetProperty() | Определяет, можно ли считать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| createWidget() | Создаёт виджет и инициализирует его. | CBaseController |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик события. | CComponent |
| disableBehavior() | Отключает присоединённое поведение. | CComponent |
| disableBehaviors() | Отключает все присоединённые поведения этого компонента. | CComponent |
| enableBehavior() | Включает присоединённое поведение. | CComponent |
| enableBehaviors() | Включает все присоединённые поведения этого компонента. | CComponent |
| endCache() | Завершает кэширование фрагмента. | CBaseController |
| endClip() | Завершает запись клипа. | CBaseController |
| endContent() | Завершает рендеринг контента. | CBaseController |
| endWidget() | Завершает выполнение указанного виджета. | CBaseController |
| evaluateExpression() | Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. | CComponent |
| getController() | Возвращает контроллер, к которому принадлежит этот виджет. | CWidget |
| getEventHandlers() | Возвращает список присоединённых обработчиков события для события. | CComponent |
| getId() | Возвращает идентификатор виджета или генерирует новый, если запрошено. | CWidget |
| getOwner() | Возвращает владельца/создателя этого виджета. | CWidget |
| getViewFile() | Ищет файл скрипта представления в соответствии с именем представления. | CWidget |
| getViewPath() | Возвращает каталог, содержащий файлы представлений для этого виджета. | CWidget |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли присоединённые обработчики для события с указанным именем. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует виджет. | CJuiWidget |
| raiseEvent() | Вызывает событие. | CComponent |
| render() | Рендерит представление. | CWidget |
| renderFile() | Рендерит файл представления. | CBaseController |
| renderInternal() | Рендерит файл представления. | CBaseController |
| run() | Выполнить этот виджет. | CJuiAutoComplete |
| setId() | Устанавливает идентификатор виджета. | CWidget |
| widget() | Создаёт виджет и выполняет его. | CBaseController |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| hasModel() | Определяет, связан ли этот виджет с моделью данных. | CJuiInputWidget |
| registerCoreScripts() | Регистрирует основные скриптовые файлы. | CJuiWidget |
| registerScriptFile() | Регистрирует JavaScript-файл в scriptUrl. | CJuiWidget |
| resolveNameID() | Разрешает имя и идентификатор входных данных. Исходное свойство имени и/или исходное свойство атрибута. | CJuiInputWidget |
| resolvePackagePath() | Определяет путь установки пакета JUI. | CJuiWidget |
Подробное описание свойств
source свойство
public mixed $source;
элементы, из которых должен выбирать автодополнение. Это может быть
- Массив с локальными данными
- Строка, определяющая URL, возвращающий данные JSON в качестве записей.
- JavaScript-обработчик. Пожалуйста, убедитесь, что вы обернули обработчик в CJavaScriptExpression в этом случае.
sourceUrl свойство
public mixed $sourceUrl;
URL, который вернёт данные JSON в качестве элементов автодополнения. К этому свойству будет применено CHtml::normalizeUrl(), чтобы преобразовать его в правильный URL. При установке этого свойства, свойство source будет проигнорировано.
Подробное описание методов
run() метод
public void run() |
Исходный код: framework/zii/widgets/jui/CJuiAutoComplete.php#73 (показать)
public function run()
{
list($name,$id)=$this->resolveNameID();
if(isset($this->htmlOptions['id']))
$id=$this->htmlOptions['id'];
else
$this->htmlOptions['id']=$id;
if(isset($this->htmlOptions['name']))
$name=$this->htmlOptions['name'];
if($this->hasModel())
echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
else
echo CHtml::textField($name,$this->value,$this->htmlOptions);
if($this->sourceUrl!==null)
$this->options['source']=CHtml::normalizeUrl($this->sourceUrl);
else
$this->options['source']=$this->source;
$options=CJavaScript::encode($this->options);
Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').autocomplete($options);");
}
Выполняет этот виджет. Этот метод регистрирует необходимый JavaScript и рендерит необходимый HTML-код.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CJuiAutoComplete