Tengo este HTML/JADE:
#dataNotes.fadeout input#optNotBroken(style="margin-top:6px;" type="radio" data-dojo-type="dojox/mobile/RadioButton" checked=false name="radioGroup" value="on") label(for="optNotBroken") NOT BROKEN input#optFaultSolved(style="margin-top:6px;" type="radio" data-dojo-type="dojox/mobile/RadioButton" checked=false name="radioGroup" value="on") label(for="optFaultSolved") FAULT SOLVEDy este js:
var regNotBroken = registry.byId("optNotBroken"); var statusNotBroken = regNotBroken.get("checked"); var regFaultSolved = registry.byId("optFaultSolved"); var statusFaultSolved = regFaultSolved.get("checked"); var optNotBroken = dom.byId("optNotBroken"); on(optNotBroken, "click", function (e) { if (statusNotBroken === true) { regNotBroken.set("checked", false); } else { regFaultSolved.set("checked", false); } statusNotBroken = regNotBroken.get("checked"); statusFaultSolved = regFaultSolved.get("checked"); optNotBroken.focus(); }); var optFaultSolved = dom.byId("optFaultSolved"); on(optFaultSolved, "click", function (e) { if (statusFaultSolved === true) { regFaultSolved.set("checked", false); } else { regNotBroken.set("checked", false); } statusNotBroken = regNotBroken.get("checked"); statusFaultSolved = regFaultSolved.get("checked"); optFaultSolved.focus(); });El objetivo es permitir anular la selección de los botones de radio si se hace clic cuando ya está seleccionado.
Funciona bien en Firefox Desktop y para Android. Funciona bien en Chrome 99.0.* para Android, pero NO funciona en Chrome (misma versión) para escritorio. Probé con diferentes máquinas, todas con Windows 10.
"No funciona" significa que los botones de radio no se deseleccionan cuando se hace clic.
¿Qué debo cambiar para solucionarlo?