2010-03-18 48 views
5

Estoy usando un grupo de botones de opción asp para enumerar las respuestas en un formulario. Aquí hay un ejemplo de la estructura (sé que el texto no tiene sentido, desnudo conmigo).¿Hay alguna manera de desactivar una etiqueta?

<asp:RadioButtonList id="Q2" runat="server"> 
    <asp:ListItem Text="Go to <a target='_blank' href='http:www.google.com'>Google</a>" Value="a"></asp:ListItem> 
    <asp:ListItem Text="Go to <a target='_blank' href='http:www.yahoo.com'>Yahoo</a>" Value="a"></asp:ListItem> 
</asp:RadioButtonList> 

Así que quiero poder hacer clic en los enlaces y no hacer que el botón de radio asociado a él sea seleccionado. En IE funciona bien, pero en Firefox, el botón de opción se seleccionará cuando haga clic en el enlace. Realmente no necesito la etiqueta para seleccionar realmente el botón de radio adecuado, así que ¿hay alguna forma de desactivarlos en javascript o en algún lugar del código asp o C?

+2

¿Cómo se ve el HTML resultante? El navegador nunca ve el código ASP. – Pickle

Respuesta

3

Es, sin duda, envolviéndolos dentro de un elemento label que está dando el comportamiento de selección. Puede generar el código manualmente, mi elección, o desenvolverlos con javascript en el lado del cliente.

<div> 
    <input type="radio" name="Q2" id="Q2_google" value="google" /> <a target="_blank" href="http://www.google.com">Google</a> 
    ... 
</div> 

o del lado del cliente

$(function() { 
    $('label:has(a)').each(function() { 
     var html = $(this).html(); 
     $(this).replaceWith($(html)); 
    }); 
}); 
+0

sí, jquery parece el camino a seguir con la mayoría de los problemas de codificación que he notado. – Mike

0

Prueba esto:

<a target='_blank' href='http:www.google.com' click='return false;'>Google</a>" 
0

Puede utilizar Enabled = "false" en el nivel de ListItem

Ex: Google" Value = "a" Enabled = "false">

Cuestiones relacionadas