2011-07-22 4 views
0

J'ai deux menus déroulants utilisant le même modèle et y définit la valeur. Dropdown1 sera visible à l'écran toujours et Dropdown2, sera visible pour seulement une option particulière choisie dans Dropdown1. et je fais une requête à la base de données en fonction des sélections dans les listes déroulantes.wicket: Dropdownchoice

Mais quand j'ai à la fois la liste déroulante d'abord et ensuite cacher la seconde, la valeur déjà définie, mais Dropdown2 est toujours disponible dans mon modèle, et en faisant ma requête pour aller chercher des données incorrectes.

Alors quelqu'un peut-il me suggérer une idée, comment définir la valeur null pour l'attribut qui est effectivement mis mais dropdown2, si dropdown2 INVISIBLE.

(j'ai essayé de régler le ModelObject null, lors de la dropdown2 invisible (en utilisant AjaxFormComponentupdateBehavior), mais quand je fais le dropdown2, visible à nouveau, il renvoie NULL, même si je fais une sélection en elle)

+0

Quel est le modèle joint à dropdown2? S'il s'agit d'un PropertyModel, définissez simplement la propriété sur null. – Marcelo

+0

Désactivez-vous également la liste déroulante cachée? 'setVisible()' et 'setEnabled()' sont deux choses différentes. – biziclop

+0

Ce sera beaucoup plus facile de répondre si vous postez une partie du code impliqué afin que nous puissions voir les relations entre vos listes déroulantes et vos modèles. –

Répondre

0

Utilisez-vous un LoadableDetachableModel? essayez de détacher explicitement le modèle de cette liste déroulante sur l'événement setHide. Je n'ai pas essayé cependant.

Questions connexes