我有一个窗口小部件自动完成,但是当我向URL添加参数时,我的窗口小部件不起作用。使用参数和小部件进行路由JQueryAutocompleter(symfony)
我认为这是路由问题,因为当我删除参数时,自动完成工作,但我不知道如何以及在哪里定义新路由。 (我尝试过在myModule/config/routing.yml中,但我认为我不懂如何使用新的路由)。
链接转到我的形式:
<a href="<?php echo url_for('refus/new?logement='.$logement->getId()) ?>">Nouveau refus</a>
操作:
public function executeAutocompleteNud(sfWebRequest $request) {
// Fonction générant une liste de locataire pour le champs autocomplete
$this->getResponse()->setContentType('application/json');
// Récupération de la chaine entrée par l'utilisateur
$string = $request->getParameter('q');
// Requète récupérant la liste des locataires dont le nom contient la chaine entrée
$requete = Doctrine::getTable('locataire')->getDataWhereNUD($string);
// Construction d'un tableau associatif à partir des résultats de la requète
$resultats = array();
foreach ($requete as $res):
$resultats[$res->getNud()] = $res->getNud();
endforeach;
return $this->renderText(json_encode($resultats));
}
public function executeNew(sfWebRequest $request)
{
$log = $request->getParameter('logement');
$refus = new Refus();
$refus->set('logement', $log);
$this->form = new refusForm($refus);
$this->setTemplate('new');
}
的Widget模式:
$this->widgetSchema['locataire'] = new sfWidgetFormJQueryAutocompleter(array('url' => 'autocompleteNud',
'config' => '{
scrollHeight: 300,
autoFill: true}'));