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]

Reply via email to