No - I mean use jQuery, YUI, or whatever you are currently using (or custom
JS that you write without one of these frameworks), and just add a CSS class
to the dom element on the client-side.  There is no reason to make a
roundtrip to the server to simply change the CSS class.  That wastes time
and resources, and makes the app less responsive.

Do something (jQuery code) like
onfocus="$(this).parent().addClass('highlightedfield');" to get started,
then onblur="$(this).parent().removeClass('highlightedfield');"

--
Jeremy Thomerson
http://www.wickettraining.com



On Tue, Apr 6, 2010 at 3:02 PM, Daniela Valero
<danielavalero...@gmail.com>wrote:

> Hi Jeremy, I'm doing something similar than Araun, but with
>
> item.add(new AjaxEventBehavior("onclick") {
>        @Override
>      protected void onEvent(AjaxRequestTarget target) {
>          HighLitableDataItem<ThirdModelBasic> hitem =
> (HighLitableDataItem<ThirdModelBasic>)item;
>         hitem.toggleHighlite();
>
>        target.addComponent(item);
>
>                        }
>                    });
>
>
> But, when I click the item, it Highlites a few seconds, then turns back its
> normal style.
>
> Is that because you suggest do not do it with ajax?
> Is there a way to do this, without rendering all page?
> When you said "JS library and attach to onfocus.". Do you reference
> JSLibrarie inside wicketStuff trunk?
>
> 2010/4/6 Jeremy Thomerson <jer...@wickettraining.com>
>
> > Don't do this with AJAX - that's overkill.  Just use a JS library and
> > attach
> > to onfocus.
> >
> > --
> > Jeremy Thomerson
> > http://www.wickettraining.com
> >
> >
> >
> > On Tue, Apr 6, 2010 at 1:21 PM, Arnaud Garcia <arn...@imagemed-87.com
> > >wrote:
> >
> > > ok, find, so just do:
> > >    item.setOutputMarkupPlaceholderTag(true);
> > > and
> > >
> > > myTextField.add(new AjaxEventBehavior("onfocus") {
> > >
> > >                    @Override
> > >                    protected void onEvent(AjaxRequestTarget target)
> > > {
> > >                        item.add(new SimpleAttributeModifier("class",
> > > "selected"));
> > >                        target.addComponent(item);
> > >                    }
> > >                });
> > >
> > >
> > > Arnaud
> > > 2010/4/6 Arnaud Garcia <arn...@imagemed-87.com>
> > >
> > > > Hello,
> > > >
> > > > I have a simple DataView where each row has some labels and
> textfields.
> > > > Each time the user enter in a textfield I would like to highlight the
> > > > selected row. (The idea is to adapt the wicket stuff example
> > > (OIRPage.java)
> > > > with an AjaxFormComponentUpdatingBehavior("onfocus") instead of a
> > simple
> > > > Link)
> > > >
> > > >
> > > > The example in wicket stuff
> > > > (
> > > >
> > >
> >
> http://wicketstuff.org/wicket/repeater/?wicket:bookmarkablePage=:org.apache.wicket.examples.repeater.OIRPage
> > > > )
> > > >
> > > >  shows how to highlight the selected row using
> > ReuseIfModelsEqualStrategy
> > > > when the user click on a Link.
> > > >
> > > > Using the AjaxFormComponentUpdatingBehavior with the "onfocus" event
> I
> > > try
> > > > to simulate the Link click but it does not work...
> > > >
> > > >  myTextField.add(new AjaxFormComponentUpdatingBehavior("onfocus") {
> > > >
> > > >                     @Override
> > > >                     protected void onUpdate(AjaxRequestTarget target)
> {
> > > >                         HighlitableDataItem<EtudiantAS> hitem =
> > > > (HighlitableDataItem<EtudiantAS>) item;
> > > >                         hitem.toggleHighlite();
> > > >                        // target.addComponent( ??? don' know what to
> > put
> > > > here, how to re-render the item)
> > > >
> > > >                     }
> > > >                 });
> > > >
> > > >
> > > > Well, any idea
> > > >
> > > > thanks
> > > >
> > > > Arnaud
> > > >
> > >
> >
>
>
>
> --
> | Daniela Valero
>
> "No hay vientos favorables para quien no sabe a donde quiere ir!
>

Reply via email to