Ok, I have fixed it by setting the id for the list items and adapting the callback function to select by id and then by name.
Chris > Am 20.04.2015 um 21:53 schrieb Chris <[email protected]>: > > Hi Sven, > > I have put the radio group in a list of items. Basically it works so when I > click on a radio button the corresponding item is called. > However, when clicking the cancel button, always the radio group of the first > item in the list is called. How can the callback function > ($('input[name=\"%s\"]')[0];) be bound to the items so not the first input > field in the DOM tree is called? > The id of the items is given by Wicket... > > Thanks Chris > > > >> Am 20.04.2015 um 03:35 schrieb Chris <[email protected]>: >> >> Perfect - thanks a lot for the hint! >> >> best regards, Chris >> >>> Am 19.04.2015 um 22:43 schrieb Sven Meier <[email protected]>: >>> >>> Hi Christ, >>> >>> for AjaxFormChoiceComponentUpdatingBehavior it is important that the click >>> happens on one of the "radio" elements. >>> If the selection is cancalled, we can just use the first radio: >>> >>> String name = formComponent.getInputName(); >>> >>> response.render(OnDomReadyHeaderItem.forScript(String.format("$('input[name=\"%s\"]').rating({ >>> callback: function(value, link) { var option = this; if (value == >>> undefined) { option = $('input[name=\"%s\"]')[0]; } >>> $(option).trigger('click'); }});", name, name))); >>> >>> Note that I had to remove a 'workaround' from the plugin's soure to make >>> this work (line 181 ff): >>> >>> // backward compatibility, form element to plugin >>> // input.on('change.rating',function(event){ >>> // if(event.selfTriggered) return false; >>> // $(this).rating('select'); >>> // }); >>> >>> I don't understand what that is for - but that isn't a Wicket question ;). >>> >>> Regards >>> Sven >>> >>> >>> On 19.04.2015 20:46, Chris wrote: >>>> Hi Sven & all, >>>> >>>> I would also like to get a callback for the cancel button. >>>> >>>> I tried following adjustment, but in this case the >>>> #onUpdate(AjaxRequestTarget target) method is called multiple times and in >>>> the end, all stars are colored/enabled (instead of all stars greyed out). >>>> >>>> response.render(OnDomReadyHeaderItem.forScript(String.format("$('%s').rating({ >>>> callback: function(value, link) { if (typeof $(this).attr('id') == >>>> 'undefined') {$('%s').trigger('click');} else {$(this).trigger('click');} >>>> }});", selector, selector))); >>>> >>>> When the cancel rating link is clicked the id is undefined. I cannot make >>>> a JS click event on this div, maybe as it is added later via the JS? >>>> http://stackoverflow.com/questions/1551102/jquery-star-rating-plugin-and-cancel-rating-button >>>> >>>> <http://stackoverflow.com/questions/1551102/jquery-star-rating-plugin-and-cancel-rating-button> >>>> >>>> thanks a lot, >>>> Chris >>>> >>>> >>>> >>>> >>>>> Am 19.04.2015 um 15:26 schrieb Chris <[email protected]>: >>>>> >>>>> Sven, you are great! >>>>> >>>>> Your solution works perfect. >>>>> >>>>> Thanks a lot for your help!! >>>>> Chris >>>>> >>>>>> Am 19.04.2015 um 11:55 schrieb Sven Meier <[email protected]>: >>>>>> >>>>>> Hi Chris, >>>>>> >>>>>> I've opened a pull request. >>>>>> >>>>>> Hope this helps >>>>>> Sven >>>>>> >>>>>> >>>>>> On 19.04.2015 02:43, Chris wrote: >>>>>>> Hi Sven & all, >>>>>>> >>>>>>> when using the JS Star Rating plugin >>>>>>> (https://www.fyneworks.com/jquery/star-rating >>>>>>> <https://www.fyneworks.com/jquery/star-rating>, star images instead of >>>>>>> radio boxes), the #AjaxFormChoicecomponentUpdatingBehaviour does not >>>>>>> work anymore. >>>>>>> >>>>>>> I have created a sample project based on the wicket-example >>>>>>> „RadioGroupPage“ and put it here: https://github.com/cat1000/StarRating >>>>>>> <https://github.com/cat1000/StarRating> >>>>>>> >>>>>>> It would be great if someone could have a look the conflict. >>>>>>> >>>>>>> Thanks a lot, >>>>>>> Chris >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Am 18.04.2015 um 23:43 schrieb Chris <[email protected]>: >>>>>>>> >>>>>>>> Hi Sven, >>>>>>>> >>>>>>>> have you added the AjaxFormChoicecomponentUpdatingBehaviour in this >>>>>>>> example to the group? >>>>>>>> >>>>>>>> group.add(new AjaxFormChoiceComponentUpdatingBehavior() { >>>>>>>> protected void onUpdate(AjaxRequestTarget target) { >>>>>>>> // Ajax actions here >>>>>>>> System.out.println("The selected value is " + >>>>>>>> getComponent().getDefaultModelObjectAsString()); >>>>>>>> } >>>>>>>> }); >>>>>>>> >>>>>>>> Thanks, Chris >>>>>>>> >>>>>>>>> Am 18.04.2015 um 13:24 schrieb Sven Meier <[email protected]>: >>>>>>>>> >>>>>>>>> Looks good. >>>>>>>>> >>>>>>>>> I've just added an AjaxFormChoiceComponentUpdatingBehavior to >>>>>>>>> wicket-examples' RadioGroupPage and it worked as expected. >>>>>>>>> >>>>>>>>> Which Wicket version? Can you create a quickstart? >>>>>>>>> >>>>>>>>> Have fun >>>>>>>>> Sven >>>>>>>>> >>>>>>>>> On 18.04.2015 13:19, Chris wrote: >>>>>>>>>> The html is as follows: >>>>>>>>>> >>>>>>>>>> <wicket:panel> >>>>>>>>>> <form wicket:id="form" class="form"> >>>>>>>>>> <div class="rating" wicket:id="group"> >>>>>>>>>> <input wicket:id="radio1" type="radio"/> >>>>>>>>>> <input wicket:id="radio2" type="radio"/> >>>>>>>>>> ... >>>>>>>>>> </div> >>>>>>>>>> </form> >>>>>>>>>> </wicket:panel> >>>>>>>>>> >>>>>>>>>> best regards, Chris >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Am 18.04.2015 um 13:14 schrieb Chris <[email protected]>: >>>>>>>>>>> >>>>>>>>>>> Hi Sven, >>>>>>>>>>> >>>>>>>>>>> the form is added to a panel. >>>>>>>>>>> >>>>>>>>>>> Chris >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Am 18.04.2015 um 11:26 schrieb Sven Meier <[email protected]>: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> is your RadioGroup is bound to <wicket:container> in your markup? >>>>>>>>>>>> >>>>>>>>>>>> Sven >>>>>>>>>>>> >>>>>>>>>>>> On 18.04.2015 07:00, Chris wrote: >>>>>>>>>>>>> Hi all, >>>>>>>>>>>>> >>>>>>>>>>>>> I have a radio group with different radio choices and I would >>>>>>>>>>>>> like to add ajax behavior to the group. >>>>>>>>>>>>> With the method #AjaxFormChoiceComponentUpdatingBehavior, the >>>>>>>>>>>>> #onUpdate is never called currently. >>>>>>>>>>>>> >>>>>>>>>>>>> How to fix this? >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Form form = new Form("form"); >>>>>>>>>>>>> RadioGroup<RadioChoice> radioGroup = new >>>>>>>>>>>>> RadioGroup<RadioChoice>("group", new Model<RadioChoice>() {...} >>>>>>>>>>>>> >>>>>>>>>>>>> Radio<RadioChoice> radio1 = new Radio<RadioChoice>("radio1", new >>>>>>>>>>>>> Model<RadioChoice>(1)); >>>>>>>>>>>>> Radio<RadioChoice> radio2 = new Radio<RadioChoice>("radio2", new >>>>>>>>>>>>> Model<RadioChoice>(2)); >>>>>>>>>>>>> radioGroup.add(radio1); >>>>>>>>>>>>> radioGroupd.add(Radio2); >>>>>>>>>>>>> >>>>>>>>>>>>> form.add(radioGroup); >>>>>>>>>>>>> >>>>>>>>>>>>> radioGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() { >>>>>>>>>>>>> protected void onUpdate(AjaxRequestTarget target) { >>>>>>>>>>>>> // Ajax actions here >>>>>>>>>>>>> } >>>>>>>>>>>>> }); >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, Chris >>>>>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>>>>>> >>>>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>>>>> >>>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>>>> >>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>>> >>>>>>>>> --------------------------------------------------------------------- >>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
