El primer conjunto de botones alterna el segundo conjunto.
Sin embargo, si alguien verifica rbtn1 y luego verifica rbtn3 pero luego cambia de opinión, hace clic en rbtn2 pero deja rbtn4 en blanco, todavía se hace clic en rbtn3 aunque no esté visible. Estoy tratando de desmarcar el segundo conjunto de botones de relación si hay un cambio en el primer conjunto, pero el código que tengo en onclick no tiene efecto. ¿Puede un código como ese estar en el onclick?
<asp:RadioButton ID="rbtn1" onclick="$('#spanOne').show(); onclick="$('#spanTwo').hide(); $('rbtn3').checked = false; "/> <asp:RadioButton ID="rbtn2" onclick="$('#spanOne').hide(); onclick="$('#spanTwo').show(); $('rbtn4').checked = false;"/> <span id = "spanOne"> <asp:RadioButton ID="rbtn3" /> </span> <span id = "spanTwo"> <asp:RadioButton ID="rbtn4" /> </span>Delegue: envuelva las radios en un contenedor estático.
También dale a todas las radios el mismo nombre o no serán radios.
const rads = $("#staticContainer input[type=radio]"); // or [name=rbtn] if you give them that name $("#staticContainer").on("click","input[type=radio]",function() { $(rads).each(function() { if (!$(this).is("visible")) $(this).val("") }) })Si define controles ASP, requiere el atributo runat para ese control. Si el control se ha ejecutado, la identificación se generará dinámicamente. Para acceder a esa identificación dinámica, puede escribir "[id$={your acual control name}]" . Si trata el rbtn1, rbtn2 como grupo, es mejor agregar GroupName para seleccionar solo uno de estos dos. Finalmente, use el siguiente código como solución.
<asp:RadioButton ID="rbtn1" GroupName="firstset" Text="rbtn1" onclick="$('#spanOne').show();$('#spanTwo').hide(); $('[id$=rbtn3]').prop( 'checked', false);" runat="server" /> <asp:RadioButton ID="rbtn2" GroupName="firstset" Text="rbtn2" onclick="$('#spanOne').hide(); $('#spanTwo').show(); $('[id$=rbtn4]').prop( 'checked', false);" runat="server" /> <span id="spanOne"> <asp:RadioButton ID="rbtn3" runat="server" Text="rbtn3" /> </span> <span id="spanTwo"> <asp:RadioButton ID="rbtn4" Text="rbtn4" runat="server" /> </span>