Prati, I'm not sure what you mean. Here's a couple of lines of code implementing what I described:
if(currentSelection != null){ // you should remove existing behaviours on // currentSelection here or, // use an AtrributeModifier added, just once, to all your // labels with a model that has logic // checking against currentSelection to // calculate the correct value for your "style" attribute currentSelection.add(new SimpleAttributeModifier("style", "")); target.addComponent( } currentSelection = contacteLabel; Just declare "Component currentSelection;" in your RefreshingView. Regards - Cemal jWeekend OO & Java Technologies, Wicket Consulting, Development, Training http://jWeekend.com On 11 March 2010 21:44, prati <pratibha.pari...@gmail.com> wrote: > > Hi Cemal, > > Thanks for replying me,but the list gets rendered only once,and i am able to > capture previous value on click but then how to move further. > > > Regards > P > > jWeekend wrote: >> >> Prati, >> >> This is because you are only re-rendering the most recently selected >> label. >> >> One solution is keep track of the previous "current selection" >> (probably in your RefreshingView implementation - eg declare >> "Component currentSelection;"), which you update in your Link's >> onClick (ie "currentSelecton = contactLabel;") _after_ you remove the >> style attribute (that you previously set) on currentSelection and add >> currrentSelection to the AjaxRequestTarget so it too gets refreshed. >> >> Make sense? >> >> Regards - Cemal >> jWeekend >> OO & Java Technologies, Wicket >> Consulting, Development, Training >> http://jWeekend.com >> >> On 11 March 2010 18:09, prati <pratibha.pari...@gmail.com> wrote: >>> >>> Hi >>> >>> I have got a refreshing view ,it contains list of links.I need to >>> highlight >>> the link when i click on that link. >>> >>> It works properly but if i click the next item in the list,the previous >>> text >>> remains highlighted. >>> >>> <wicket:extend> >>> >>> <table cellspacing="0" class="dataview"> >>> <tr> >>> >>> <th>First Name</th> >>> >>> </tr> >>> <tr wicket:id="view"> >>> <td> # </td> >>> >>> </tr> >>> </table> >>> >>> </wicket:extend> >>> >>> >>> >>> public class RefreshingPage extends BasePage { >>> >>> >>> public RefreshingPage() >>> { >>> final List<IModel> contacts = new ArrayList<IModel>(10); >>> >>> // populate list of contacts to be displayed >>> >>> Iterator<Contact> it = rgetContacts().iterator(); >>> while (it.hasNext()) >>> { >>> contacts.add(new Model(it.next())); >>> } >>> >>> // create the refreshing view >>> RefreshingView view = new RefreshingView("view") >>> { >>> /** >>> * Return an iterator over models for items in the >>> view >>> */ >>> �...@override >>> protected Iterator<IModel> getItemModels() >>> { >>> return contacts.iterator(); >>> } >>> >>> �...@override >>> protected void populateItem(final Item item) >>> { >>> Contact contact = (Contact) >>> item.getModelObject(); >>> >>> final Label contacteLabel = new >>> Label("aname",contact.getName()); >>> contacteLabel.setOutputMarkupId(true); >>> >>> item.add(new AjaxLink("name") { >>> >>> private static final long >>> serialVersionUID = 1L; >>> >>> �...@override >>> public void >>> onClick(AjaxRequestTarget target) { >>> >>> if(target!= null) { >>> >>> contacteLabel.add(new >>> >>> AttributeModifier("style", true, new AbstractReadOnlyModel() { >>> >>> �...@override >>> >>> public String getObject() { >>> >>> return "background-color:#80b6ed;"; >>> >>> } >>> >>> })); >>> >>> target.addComponent(contacteLabel); >>> } >>> >>> } >>> >>> >>> >>> }.add(contacteLabel)); >>> } >>> }; >>> >>> add(view); >>> >>> >>> } >>> } >>> >>> >>> Regards >>> P >>> >>> >>> moontz wrote: >>>> >>>> i tried that before. did not work. no compile or runtime errors, but >>>> the >>>> source did not show the change. >>>> >>>> im thinking, since its an ajax link and because only the target panel >>>> refreshes, the change to the link is not applied because the actual link >>>> is not refreshed. only the other panel is. in which case i would need >>>> to >>>> append javascript. i was hping there was a pure wicket solutioin though >>>> without using JS. >>>> >>>> >>>> >>>> igor.vaynberg wrote: >>>>> >>>>> final ListItem item >>>>> >>>>> -igor >>>>> >>>>> On Fri, Feb 13, 2009 at 7:36 AM, moontz <bmun...@yahoo.com> wrote: >>>>>> >>>>>> I would like to add an attribute to the ListItem element in the markup >>>>>> (basically change the class style) on click of the link. Below is my >>>>>> snippet. Any insight on how I can accomplish this? Thanks in >>>>>> advance! >>>>>> >>>>>> ListView lv = new ListView("tabListView", tabList) { >>>>>> protected void populateItem(ListItem item) { >>>>>> AjaxLink ajaxLink = new AjaxLink("tabLink", >>>>>> item.getModel()) { >>>>>> public void onClick(AjaxRequestTarget >>>>>> target) >>>>>> { >>>>>> item.add(new >>>>>> SimpleAttributeModifier("class", "on")); // >>>>>> want to do this but do not have access to item object from inner class >>>>>> -- >>>>>> ideas for this? >>>>>> . >>>>>> . >>>>>> . >>>>>> >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://www.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p21998739.html >>>>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>> >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>>> >>>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p27867306.html >>> Sent from the Wicket - User mailing list archive at Nabble.com. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> >> > > -- > View this message in context: > http://old.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p27870307.html > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org