You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Mansour Al Akeel <ma...@gmail.com> on 2011/03/28 03:58:57 UTC
Re: Problem get selected value using dynamic select with optgroup
I didn't clearly understand the question. But another shot in the dark
;)
You mean, is the behaviour of the ajax link depends on the clicked item ?
If that's what you mean, then I like to be able to disable the clicked
link while viewing the corresponding panel.
The second part about the onchange event, I didn't get it at all. Can
you please kindly elaborate.
I am not new to wicket, but not very advnaced either.
Thank you.
On Tue Feb 22,2011 11:35 am, Mike Mander wrote:
> A shot in the dark.
>
> Is the behavior required at the select? Or is the option getting the
> onchange event?
>
> Cheers
> Mike
> > I'm using the select component due to realizing a dynamic optgroup and option
> > list.
> > It works rather fine but my problem is to get the selected value.
> > I tried to use an ajax behavior (AjaxComponentUpdatingBehavior,
> > OnChangeBehavior) but the onUpdate methode is never called --> doesn't work!
> >
> > Maybe there is a solution for my problem!? What I'm doing wrong?
> >
> > My code:
> >
> >
> > Select select = new Select(selectId);
> > select.add(new ListView("optGroups", myList) {
> >
> > @Override
> > protected void populateItem(ListItem item) {
> > MyBean myBean = (MyBean) item.getModelObject();
> > item.add(new OptGroup("optGroup", myBean.getName(), myBean.getList()));
> > }
> > });
> >
> > add(select);
> >
> >
> > class OptGroup extends SelectOption {
> >
> > String label;
> >
> > List<MyBean2> list;
> >
> > public OptGroup(String id, String label, List<MyBean2> list) {
> > super(id);
> > this.label = label;
> > this.list = list;
> > init();
> > }
> >
> > @SuppressWarnings("unchecked")
> > private void init() {
> > this.add(new ListView("grpOptions", list) {
> >
> > @Override
> > protected void populateItem(ListItem item) {
> > MyBean2 myBean2 = (MyBean2) item.getModelObject();
> > item.add(new CustomSelectOption("grpOption", myBean2.getName()));
> > }
> >
> > });
> > }
> >
> > protected void onComponentTag(final ComponentTag tag) {
> > checkComponentTag(tag, "optgroup");
> > Select select = (Select) findParent(Select.class);
> > if (select == null) {
> > throw new WicketRuntimeException(
> > "OptGroup component ["
> > + getPath()
> > + "] cannot find its parent Select. All OptGroup components must be
> > a child of or below in the hierarchy of a Select component.");
> > }
> >
> > tag.put("label", label);
> > }
> > }
> >
> > public class CustomSelectOption extends SelectOption {
> > @SuppressWarnings("unchecked")
> > public CustomSelectOption(String id, String displayValue) {
> > super(id, new Model(displayValue));
> > }
> >
> > protected void onComponentTagBody(final MarkupStream markupStream, final
> > ComponentTag openTag) {
> > replaceComponentTagBody(markupStream, openTag,
> > getDefaultModelObjectAsString());
> > }
> > }
> >
> >
> >
> >
> > I tried this, but it doesn't work:
> >
> >
> > select.add(new AjaxFormComponentUpdatingBehavior("onchange") {
> > protected void onUpdate(AjaxRequestTarget target) {
> > System.out.println("Update ajax");
> > // @todo updating model
> > }
> > });
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org