Bonjour
j'ai implementé un autocompleter, mais il me renvois aucun resultat
voici les bouts de code réaliser :
........................................
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class ActeurActions extends sfActions { public function executeIndex(sfWebRequest $request) { $this->form= new ActeurSearchForm(); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php class ActeurSearchForm extends sfForm { public function configure() { $this->setWidgets(array ('nom' => new sfWidgetFormChoice(array ('choices' => array(), 'renderer_class' =>'sfWidgetFormJQueryAutocompleter', 'renderer_options' => array('url' => '/Acteur/search',), )) )); $this->widgetSchema->setFormFormatterName('div'); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public function executeSearch(sfWebRequest $request) { $this->getResponse()->setContentType('application/json'); $Acteur=ActeurPeer::searchActeurAjax($request->getParameter('q'),$request->getParameter('limit')); return $this->renderText(json_encode($Acteur)); }
class ActeurPeer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static function searchActeurAjax($q,$limit) { $c=new Criteria(); $c->add(self::NOM,'%'.$q.'%', Criteria::LIKE); $c->addAscendingOrderByColumn(self::NOM); $c->setLimit($limit); $acteurs=array(); foreach(self::doSelect($c) as $acteur) { $acteurs[$acteur->getidacteur()] = (string)$acteur; } return $acteurs; }
et puis le template indexSuccess
j'ai bien une image de chargement qui s'affiche mais aucune liste n'apparait pourtant en executant la requette a part j'ai bien un résultat donc la requette marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php use_javascript ('/js/jquery-1.4.2.min.js'); ?> <?php use_javascript ('/sfFormExtraPlugin/js/jquery.autocompleter.js') ;?> <?php use_stylesheet ('/sfFormExtraPlugin/css/jquery.autocompleter.css'); ?> <form action="<?php echo url_for('Acteur/Detail') ?>" method="POST"> <?php echo $form['nom']; ?> <input type="submit" value="Rechercher" /> </form>
Merci de votre Aide
Partager