Zendx JQuery Autocomplete

3
我一直在尝试让Zend Jquery自动完成功能正常工作,当我注意到Zend文档中的这个部分时。

以下UI小部件可用作表单视图助手。确保您使用正确版本的jQuery UI库才能使用它们。Google CDN仅提供jQuery UI版本1.5.2。 其他一些组件仅从jQuery UI SVN中提供,因为它们已从宣布的1.6版本中删除

autoComplete($id, $value, $params, $attribs):AutoComplete视图助手将包含在未来的jQuery UI版本中(目前仅通过jQuery SVN),并创建一个文本字段并注册以具有自动完成功能。完成数据源必须按照jQuery UI手册中描述的方式给出作为jQuery相关参数'url'或'data'。

有人知道我需要下载哪个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

我从Till提供的链接中导出了代码,并将ui.autocomplete.[js & css]复制到我的ZEND应用程序的public文件夹中,放在一个名为“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

1

0

我也遇到了同样的问题。我对ZendX/JQuery/Autocomplete.php文件进行了一些更改。
更改以下行:

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

$params = $params['url'];

这对我有用。想与需要的人分享。

谢谢,
Decosian


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接