2012-03-03 14 views
19

Tengo algunos botones de opción en mi formulario y siempre tengo que hacer clic exactamente en el botón de opción redondo para seleccionarlo. ¿Hay alguna manera de permitir que el usuario haga clic en la etiqueta asociada para seleccionar el botón de opción?Cómo asociar elementos de etiquetas con botones de opción

enter image description here

<p> 
    <span class="editor-label"> 
     @Html.LabelFor(m => m.ADR) 
    </span> 
    <span class="editor-field"> 
     @Html.RadioButtonFor(model => model.ADR, "Yes", AdrYesOptions) 
     @UserResource.YesValue 
     @Html.RadioButtonFor(model => model.ADR, "No", AdrNoOptions) 
     @UserResource.NoValue 

    </span> 
</p> 

he encontrado algunas soluciones aquí: How to associate labels with radio buttons pero estos no me convienen porque prefiero una solución específica para MVC.

+0

¿Qué quiere decir por _specific para MVC_? Las preguntas vinculadas contienen una respuesta válida (aunque no la aceptada) que muestra cómo lograr esto. – marapet

+0

Lo que quiero decir es (si es posible) mantener mi código Html.LabelFor ... Html.RadioButtonFor ... y no algo así como

Respuesta

40

envolver cada botón de opción y texto de la etiqueta asociada dentro de un elemento <label>:

<p> 
    <span class="editor-label"> @Html.LabelFor(m => m.ADR) </span> 
    <span class="editor-field"> 
     <label> @Html.RadioButtonFor(model => model.ADR, "Yes", AdrYesOptions) @UserResource.YesValue </label> 
     <label> @Html.RadioButtonFor(model => model.ADR, "No", AdrNoOptions) @UserResource.NoValue </label> 
    </span> 
</p> 
+1

Tenga en cuenta que si el usuario hace clic en la etiqueta principal ' @ Html.LabelFor (m => m.ADR) 'esto seleccionará la primera opción de radio. –

Cuestiones relacionadas