1

我需要有一个使用jquery的自动完成功能,并且我遇到了具有此类功能的ZendX_JQuery。ZendX仍然活跃(特别是ZendX_JQuery)吗?

但是,我注意到整个ZendX_JQuery类,有点旧(默认的jQuery版本是1.3.2,和jQuery UI 1.7.1)。 (请参阅http://framework.zend.com/svn/framework/extras/branches/release-1.10/library/ZendX/JQuery.php

我应该使用该代替我自己编写的代码来包含jquery库等,并且应该使用ZendX_JQuery_View_Helper_AutoComplete类来实现此类功能吗?

回答

2

ZendX仍处于活动状态。我使用jQueryUI进行自动完成。以下是使用示例。

jQuery配置。

$view->jQuery()->setLocalPath('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js') 
         ->enable() 
         ->setUiLocalPath('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js') 
         ->uiEnable() 
         ->addStylesheet('/ui/css/blitzer/jquery-ui-1.8.custom.css') 

查看文件。

echo $this->autoComplete($id, $value, $params, $attribs); 

http://jqueryui.com/demos/autocomplete/

http://framework.zend.com/manual/en/zendx.jquery.view.html

2
$view->jQuery() 
     ->setVersion('1.4.2') 
     ->enable() 
     ->setUiVersion('1.8.1') 
     ->uiEnable() 
     ->addStylesheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/ui-lightness/jquery-ui.css'); 

形式元素:

$el = $this->createElement('autoComplete', 'movie_id', 
     array(
      'cols' => 30, 
      'label' => 'Movie ID или Название фильма. Набрать 3 символа и подождать.', 
      'required' => true, 
      'autocomplete' => 'off', 
      'filters' => array('StringTrim'), 
      'validators' => array(
       'Int', 
       array('Db_RecordExists', false, array(
        'model' => 'Movies_Model_Movie', 
        'field' => 'id' 
       )) 
      ), 
      'jQueryParams' => array(
       'source' => $this->getView()->movieLinker()->crudListAutocompleteMovieId(), 
       'minLength' => 3, 

      ) 
     ) 
    );