当我注意到Zend documentation中的这一部分时,我一直在努力让Zend Jquery自动完成功能正常工作。
以下UI小部件可用作表单视图助手。确保使用正确版本的jQuery UI库才能使用它们。 Google CDN仅提供1.5.2版本的jQuery UI。 其他一些组件只能从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 atm。
答案 0 :(得分:1)
上次检查时,它位于dev branch。
唯一的问题是,我不确定这是完整和准备好的,和,如果它甚至适用于ZendX_Jquery。您可以在the progress of autoComplete on the official wiki page上保持最新状态。
答案 1 :(得分:1)
我从Till上面提供的链接导出代码并复制了ui.autocomplete。[js&amp; 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>
答案 2 :(得分:1)
我几乎投降让自动完成功能与ZendX一起工作。 然后我发现了这个:http://www.zendcasts.com/autocomplete-control-with-zendx_jquery/2010/07/
答案 3 :(得分:0)
我有同样的问题。我对ZendX/JQuery/Autocomplete.php
文件进行了一些更改
更改以下行:
$params['source'] = $params['data'];
到
$params = $params['url'];
这对我有用。想与需要这个的人分享这个。
谢谢,
Decosian