Hi,

the listView is populated before each render, so it doesn't make sense to alter a component in onclick().

Sven

On 10/17/2010 08:10 AM, always_rick wrote:
What I am trying to do is:

if menu item is selected (onClick), change the markup<li>  id or class.

However, it doesn't seem to work. Am I missing something?

html

<ul id="menu">
<li class="menuitem" wicket:id="menuitem">
#
</li>
</ul>


wicket

ListView listView = new ListView( "menuitem", menuItemList ) {                  
      
@Override
protected void populateItem( ListItem<MenuItem>  item ) {
        final MenuItem menuItem = item.getModelObject();
                
        Link<WebPage>  link = new Link<WebPage>( "menuitemLink" ) {
                @Override
                public void onClick() {
                        MarkupContainer container = getParent();
                        //System.out.println( "container: "+container );
                        container.setMarkupId( "selected_menu_item" );
                        //System.out.println( "container: 
"+container.getMarkupId() );
                        container.add( new SimpleAttributeModifier( "id", 
"selected_menu_item" )
);
                        setResponsePage( menuItem.getPage() );
                }
        };
        link.add( new Label( "menuitemName", menuItem.getId() ) );
        item.add( link );
}               

};


Any help is much appreciated.



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to