[ https://issues.apache.org/jira/browse/WICKET-470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Johan Compagner updated WICKET-470: ----------------------------------- Attachment: AjaxFormChoiceComponentUpdatingBehavior.java I already wrote such a thing, don't know if it does take all kinds of radio choices or checkbox choices because of this: asb.append("function attachChoiceHandlers(markupid, callbackscript) {\n"); asb.append(" var choiceElement = document.getElementById(markupid);\n"); asb.append(" for( var x = 0; x < choiceElement.childNodes.length; x++ ) {\n"); asb.append(" if (choiceElement.childNodes[x] && choiceElement.childNodes[x].tagName) {\n"); asb.append(" var tag = choiceElement.childNodes[x].tagName.toLowerCase();\n"); asb.append(" if (tag == 'input') {\n"); asb.append(" Wicket.Event.add(choiceElement.childNodes[x],'click', callbackscript);"); asb.append(" }\n"); asb.append(" }\n"); asb.append(" }\n"); asb.append("}\n"); I am not going deeper then just the child nodes of a radiochoice or group But for the default CheckboxMultiplyChoice or RadioChoice it should work fine. I am still thinking about integrating this into AjaxFormComponentUpdatingBehavior so that it checks for the type and then does different things depending on this. > AjaxFormComponentUpdatingBehavior won't work for RadioChoices > ------------------------------------------------------------- > > Key: WICKET-470 > URL: https://issues.apache.org/jira/browse/WICKET-470 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 1.3 > Reporter: Carlos Pita > Attachments: AjaxFormChoiceComponentUpdatingBehavior.java > > > Below is the generated html and js for a simple RadioChoice("sex", > Arrays.asList("M", "F")) with an attached behavior. Notice how > wicketSerialize will take the else branch for span elements, so it will > always return "". Maybe the behavior should be patched, maybe the js, maybe > there is a need for another behavior, I don't know. > <span wicket:id="sex" id="sex5" onblur="var > wcall=wicketAjaxPost('test?wicket:interface=:2:testForm:sex::IBehaviorListener:0', > wicketSerialize(document.getElementById('sex5')), function() { }, > function() { });"> > <input name="sex" type="radio" value="0" id="sex_0"/><label > for="sex_0">M</label><br /> > <input name="sex" type="radio" value="1" id="sex_1"/><label > for="sex_1">F</label><br /> > </span> > wicketSerialize = Wicket.Form.serializeElement; > Wicket.Form.serializeElement = function(e) { > var tag = e.tagName.toLowerCase(); > if (tag == "select") { > return Wicket.Form.serializeSelect(e); > } else if (tag == "input" || tag == "textarea") { > return Wicket.Form.serializeInput(e); > } else { > return ""; -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.