que je dois faire une page web avec Wicket qui expose le tableau suivant:Can Wicket dispose-t-il de menus déroulants AJAXified?
+------------+---------+ | Category | Value | +------------+---------+ | CatA | ValA | +------------+---------+ | CatB | ValB | +------------+---------+ | CatC | ValC | +------------+---------+ | CatD | ValD | +------------+---------+ | CatE | ValE | +------------+---------+
Chaque élément de cette table, sauf pour les en-têtes est censé être un menu déroulant. Il y a deux problèmes. Premièrement, chaque liste de valeurs dépend de sa liste de catégories. Par exemple, CatA pourrait contenir des «sports», des «voitures» et des «animaux» comme options. Ensuite, si "sports" est sélectionné, ValA est peuplé de "baseball", "football" et "basketball". Mais si "voitures" est sélectionné, ValA serait plutôt peuplé avec "Volvo", "Saab" et "Mercedes".
L'autre problème est que les lignes ne doivent apparaître que si les lignes au-dessus d'elles sont remplies. Ainsi, lorsque la page est chargée, seuls CatA et ValA doivent être visibles. Une fois que ValA est rempli, CatB et ValB deviennent visibles. Si ValB est rempli, CatC et ValC apparaissent, & c.
Ma question est la suivante: cela peut-il être réalisé en Wicket pur, de préférence de manière asynchrone? J'ai regardé à travers l'API Wicket, mais je ne suis pas trop familier avec elle, donc je pourrais facilement avoir raté la classe qui fait ce que je veux. Ma première pensée impliqué en utilisant DropDownChoice
et sa méthode onSelectionChanged()
, mais cela ne semble pas être AJAXified.
S'il n'y a absolument aucun moyen que cela se produise juste avec Wicket, je envisagerais d'utiliser JavaScript, mais c'est vraiment un dernier recours.
Je n'ai pas nécessairement besoin du code — cela pourrait même ne pas fonctionner, puisque cela est vraiment dépouillé de mes exigences actuelles du projet — mais j'apprécierais d'être pointé vers une classe API utile ou une implémentation existante ou similaire .
Edit:
D'accord, la réponse de donroby fonctionnait très bien pour la première partie (ce qui valeurs dépendent des catégories) mais je suis toujours perdu sur la deuxième partie (lignes cacher jusqu'à ce que toutes les lignes précédentes sont remplies). Au début, je pensais que cela pourrait être accompli en attachant LoadableDetachableModel
s, mais je me rends maintenant compte que ce n'est pas ce que ceux-ci font. Y at-il un moyen de basculer si un composant est sur la page du tout?
Yeesh. Je suis déjà allé sur ce site, mais j'ai manqué cet exemple précis d'une manière ou d'une autre. Ça promet, je vais essayer. – Pops