sfWidgetFormJQueryAutocompleter et remplissage de formulaire automatique
Je me pose une question , sur laquelle je ne trouve pas de doc, et a laquelle je ne vois pas vraiment de réponse...
En clair , je recherche en base via le "sfWidgetFormJQueryAutocompleter" mon utilisateur.
Code:
1 2 3 4
| $this->widgetSchema['last_name'] = new sfWidgetFormJQueryAutocompleter(array(
'url' => 'common/getUsersWithAdress' ,
'value_callback' => array('User','userSearch'))
); |
J'utilise donc l'option "value_callback" pour formater mon texte apres la validation de l'autocompletion (Si on ne l'utilise pas , ca renvoie l'id de la selection du Widget)
Maintenant , mon autre problème, et non des moindres se situe dans le fait que lorsque je selectionne mon utilisateur, je souhaiterais pré remplir automatiquement le formulaire qui lui est associé(qui est un EmbedForm)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public function render($name, $value = null, $attributes = array(), $errors = array())
{
$visibleValue = $this->getOption('value_callback') ? call_user_func($this->getOption('value_callback'), $value) : $value;
return $this->renderTag('input', array('type' => 'hidden', 'name' => $name, 'value' => $value)).
parent::render('autocomplete_'.$name, $visibleValue, $attributes, $errors).
sprintf(<<<EOF
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#%s")
.autocomplete('%s', jQuery.extend({}, {
dataType: 'json',
parse: function(data) {
var parsed = [];
for (key in data) {
parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] };
}
return parsed;
}
}, %s))
.result(function(event, data) { jQuery("#%s").val(data[1]); });
});
</script>
EOF
,
$this->generateId('autocomplete_'.$name),
$this->getOption('url'),
$this->getOption('config'),
$this->generateId($name)
);
} |
Et a vrai dire je ne vois pas mettre ceci en place avec le widget existant...
Devrais je l'etendre pour le customiser ?