Zendx JQuery Автозаполнение - PullRequest
3 голосов
/ 15 июля 2009

Я пытался заставить работать функцию автозаполнения Zend Jquery, когда заметил этот раздел в документации Zend .

Следующие виджеты пользовательского интерфейса доступны в качестве помощников вида. Убедитесь, что вы используете правильную версию библиотеки jQuery UI, чтобы иметь возможность их использовать. Google CDN предлагает только jQuery UI до версии 1.5.2. Некоторые другие компоненты доступны только из jQuery UI SVN, поскольку они были удалены из анонсированного выпуска 1.6 .

autoComplete ($ id, $ value, $ params, $ attribs): помощник AutoComplete View будет включен в будущую версию jQuery UI (в настоящее время только через jQuery SVN) и создает текстовое поле и регистрирует его для автоматического завершения функциональность. Источник данных завершения должен быть задан в виде связанных с jQuery параметров «url» или «data», как описано в руководстве по jQuery UI.

Кто-нибудь знает, какой тег или ветку svn url мне нужно скачать, чтобы получить файл javascript с функциями автозаполнения, доступными в нем?

На данный момент мой Bootstrap.php имеет

    $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper'); 
    $view->jQuery()->enable();
    $view->jQuery()->uiEnable();
    Zend_Controller_Action_HelperBroker::addHelper(
        new ZendX_JQuery_Controller_Action_Helper_AutoComplete()
    );

    // Add it to the ViewRenderer
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);

В моем макете я определяю желаемую версию jquery ui

<?php echo $this->jQuery()
    ->setUiVersion('1.7.2');?>

Наконец, у моего index.phtml есть виджет автозаполнения

<p><?php $data = array('New York', 'Tokyo', 'Berlin', 'London', 'Sydney', 'Bern', 'Boston', 'Baltimore'); ?>
<?php echo $this->autocomplete("ac1", "", array('data' => $data));?></p>

Я использую Zend 1.8.3 атм.

Ответы [ 4 ]

1 голос
/ 18 октября 2010

Я почти сдался, чтобы заставить автозаполнение работать с ZendX. Тогда я нашел это: http://www.zendcasts.com/autocomplete-control-with-zendx_jquery/2010/07/

1 голос
/ 18 июля 2009

Я экспортировал код по ссылке, указанной выше, и скопировал ui.autocomplete. [Js & css] в общую папку моего приложения ZEND, в подпапку, которую я назвал «js / autocomplete».

Мой обновленный код теперь выглядит как

Bootstrap.php: добавить дополнительный скрипт js автозаполнения на страницу

$view->jQuery()->addJavascriptFile('/js/autocomplete/ui.autocomplete.js'); 

layout.phtml: добавить автозаполнение тем css и jquery, я также говорю использовать последнюю версию jquery

<?php echo $this->jQuery()
    ->setUiVersion('1.7.2')
    ->addStylesheet('/js/autocomplete/ui.autocomplete.css')
    ->addStylesheet('/js/jquery-ui-1.7.2/development-bundle/themes/ui-lightness/jquery-ui-1.7.2.custom.css');?>

index.phtml: это образец кода для вставки из документации Zend.

<h3>AutoComplete</h3>
<p><?php $data = array('New York', 'Tokyo', 'Berlin', 'London', 'Sydney', 'Bern', 'Boston', 'Baltimore'); ?>
<?php echo $this->autocomplete("ac1", "", array('data' => $data));?></p>

Работает как шарм. : -)

Ваш окончательный HTML должен иметь следующую структуру в элементе head.

<link rel="stylesheet" href="/js/autocomplete/ui.autocomplete.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/js/jquery-ui-1.7.2/development-bundle/themes/ui-lightness/jquery-ui-1.7.2.custom.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="/js/autocomplete/ui.autocomplete.js"></script>
1 голос
/ 16 июля 2009

Последний раз, когда я проверял, это было в ветке dev .

Единственная проблема заключается в том, что я не уверен, насколько это завершено и готово, и , если это даже работает с ZendX_Jquery. Вы можете оставаться в курсе хода автозаполнения на официальной вики-странице .

0 голосов
/ 22 апреля 2010

У меня была такая же проблема. Я сделал некоторые изменения в файле ZendX/JQuery/Autocomplete.php.
Измените следующую строку:

$params['source'] = $params['data'];

до

$params = $params['url'];

и это сработало для меня. Мысль о том, чтобы поделиться этим с любым, кто нуждается в этом.

Спасибо
Decosian

...