Spec-Zone.ru › Yii 1.1

CJuiAutoComplete

Пакет zii.widgets.jui
Наследование class CJuiAutoComplete » CJuiInputWidget » CJuiWidget » CWidget » CBaseController » CComponent
С версии 1.1.2
Исходный код framework/zii/widgets/jui/CJuiAutoComplete.php
CJuiAutoComplete отображает поле автозаполнения.

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
END_OF_DOCUMENT_MARKER

Публичные методы

Метод Описание Определено в
__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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API