2009-05-19 16 views
19

Tengo casillas de verificación de grupo y me gusta si este grupo tiene un comportamiento como botones de radio con el mismo nombre.jQuery - casillas de verificación como botones de radio

Cada casilla de verificación tiene un nombre diferente.

Solo se puede elegir una de las casillas de verificación.

¿Cómo puedo hacer esto?


Solución

¿Por qué necesito esto? Porque necesitamos coherencia webUI. Por favor, esta no es una pregunta sobre nuestra arquitectura de aplicaciones. :)

Muestra HTML

<div class="multiCheckBox"> 
<span class="multiGroup"> 
    <div><input class="multiItem" value="111" name="list" type="checkbox" />111</div> 
    <div><input class="multiItem" value="112" name="list" type="checkbox" />112</div> 
    <div><input class="multiItem" value="113" name="list" type="checkbox" />113</div> 
</span> 
<span> 
    <div><input class="multiItem" value="121" name="list" type="checkbox" />121</div> 
    <div><input class="multiItem" value="122" name="list" type="checkbox" />122</div> 
    <div><input class="multiItem" value="133" name="list" type="checkbox" />123</div> 
</span> 
<span> 
    <div><input class="multiItem" value="131" name="list" type="checkbox" />131</div> 
    <div><input class="multiItem" value="132" name="list" type="checkbox" />132</div> 
    <div><input class="multiItem" value="133" name="list" type="checkbox" />133</div> 
</span> 
</div> 

JavaScript

var $groups = $("span.multiGroup", $that); 
$groups.each(function() { 
    var $group = $(this); 
    var $checkboxes = $(":checkbox", $group); 
    $checkboxes.click(function() { 
     var $activeCheckbox = $(this); 
     var state = $activeCheckbox.attr('checked'); 
     $checkboxes.attr('checked', false); 
     $activeCheckbox.attr('checked', state); 
    }); 
}); 
+2

por qué no usar botones de radio? Ah, y es posible que desee poner el código de su intento de hacerlo, para que sepamos lo que está buscando ... – scraimer

+2

No use casillas de verificación para los botones de opción. Use botones de radio para botones de radio. ¿Usarías un interruptor de luz en tu puerta en lugar de un picaporte? –

+2

Tim: Gracias por su opinión, pero esta es la mejor manera de cómo hago lo que necesito. Y esta pregunta sobre webUI, no sobre la arquitectura de mi aplicación. – MicTech

Respuesta

67

Aquí hay una pista: Utilice los botones de radio. ;)

No recomendaría hacer esto porque se consideraría malo para la usabilidad y sin duda violaría el principio de menor sorpresa. Los usuarios han sido condicionados a esperar que las radios acepten 1 marca y casillas de verificación para aceptar muchas. Don't make your users think.

Si usted tiene sus razones, sin embargo, aquí es cómo hacer para hacer esto con jQuery:

<input type='checkbox' name='mygroup1' value='1' class='unique'> 
<input type='checkbox' name='mygroup2' value='2' class='unique'> 
<input type='checkbox' name='mygroup3' value='3' class='unique'> 

Y el jQuery:

var $unique = $('input.unique'); 
$unique.click(function() { 
    $unique.filter(':checked').not(this).removeAttr('checked'); 
}); 

Y aquí hay un live sample.

EDITAR:

Como se señaló en los comentarios, esto permitiría que el usuario para anular todas las casillas, incluso si eligieron un principio, que no es exactamente igual que los botones de radio. Si desea que esta, entonces el jQuery se vería así:

var $unique = $('input.unique'); 
$unique.click(function() { 
    $unique.removeAttr('checked'); 
    $(this).attr('checked', true); 
}); 
+0

Cada casilla tiene nombre diferente. – MicTech

+2

+1 ¡La usabilidad es importante! Y una buena respuesta también: P – alex

+0

Micrófono: actualizado para reflejar esto, ya que lo hace más fácil: p –

6

¿Por qué no utilizar los botones de radio, entonces?

La diferencia está ahí por una razón. Ha sido diseñado de esta manera, y desde la perspectiva del usuario, los botones de radio significan "seleccionar uno", y las casillas de verificación significan "seleccionar muchos".

No rompa las expectativas del usuario cambiando este paradigma bien probado. Es algo malo cuando los desarrolladores de aplicaciones prefieren los "aspectos" sobre la usabilidad y la convención, así que no seas uno de ellos.

Las interfaces de usuario funcionan porque las metáforas utilizadas (casillas de verificación, botones, la forma del puntero del mouse, colores, etc.) son y se comportan de una determinada manera. Los usuarios tendrán problemas con su aplicación y es posible que ni siquiera sepan por qué cuando hacen cosas como esta.

Este es un anti-patrón que cae en la misma categoría que el cambio de la etiqueta con el estado casilla de verificación:

 
[ ] enable option  vs.  [ ] option 
[x] disable option    [x] option 
+0

excelente. + – alex

1
$(".checkboxClass").click(function() { 
    $(".checkboxClass").each(function() { 
     $(this)[0].checked = false;}); 
    $(this)[0].checked = true; 
}); 

primeras casillas de verificación claras de todo, a continuación, comprobar la que se ha hecho clic.

2

Tuve un problema similar. No pude usar el botón de opción porque el mismo formulario tenía que mostrar varias casillas de selección en algunas situaciones. Tomé su margen de beneficio y escribí este pequeño pedazo de jQuery:

$("span.multiGroup input").click(function() { 
    $("span.multiGroup input").attr('checked', false); 
    $(this).attr('checked', true); 
}); 
1
var $unique = $('input.unique'); 

$unique.click(function() { 

$checked = $(this).is(':checked') ; // check if that was clicked. 
$unique.removeAttr('checked'); //clear all checkboxes 
$(this).attr('checked', $checked); // update that was clicked. 

}); 
0

HTML

<input type='checkbox' name='mygroup1' value='1' class='unique'> 
<input type='checkbox' name='mygroup2' value='2' class='unique'> 
<input type='checkbox' name='mygroup3' value='3' class='unique'> 

Javascript

$('input.unique').each(function() { 
    $(this).on('touchstart click', function() { 
    $('input.unique').not(this).removeAttr('checked'); 
}); 
}); 

violín: http://jsfiddle.net/L2ad1vd8/

0

La respuesta de Pablo funciona muy bien si solo tiene un conjunto de estos en su página. Me encontré con esto cuando traté de solucionar una implementación de arranque que me estaba dando problemas porque los botones de radio se habían sobrescrito por completo y resultó que sería más fácil usar las casillas de verificación como botones de opción.

Aquí hay una versión de este código que permite varios conjuntos al hacer referencia a la segunda clase del elemento que llama.

$('input.unique').each(function() { 
 
    $(this).on('touchstart click', function() { 
 
    var secondClass = $(event.target).attr('class').split(' ')[1]; 
 
    $('input.' + secondClass).not(this).removeAttr('checked'); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type='checkbox' name='mygroup1' value='1' class='unique check1'> 
 
<input type='checkbox' name='mygroup2' value='2' class='unique check1'> 
 
<input type='checkbox' name='mygroup3' value='3' class='unique check1'> 
 
<br> 
 
<hr> 
 
<input type='checkbox' name='mygroup1' value='1' class='unique check2'> 
 
<input type='checkbox' name='mygroup2' value='2' class='unique check2'> 
 
<input type='checkbox' name='mygroup3' value='3' class='unique check2'>

JSFiddle

0

Esta demostración en vivo ilustra botón de radio puede realizar lo que desee:

http://jsfiddle.net/ftnwg8yf/

function selectiongrp_control(s_selectiongrpName, b_useJQueryUiThemeToDecorate) 
 
{ 
 
\t var ADF_THIS_IS_LAST_SELECTED_ATTR='adf_this-is-last-selected-attr' 
 
\t var ADF_THIS_IS_LAST_SELECTED_VALUE='adf_this-is-last-selected-val'; 
 

 
\t if (!s_selectiongrpName) return -1; 
 

 
\t $('#fieldset-' + s_selectiongrpName + '-result').hide(); 
 
\t if(b_useJQueryUiThemeToDecorate) $('#jQueryUi-' + s_selectiongrpName).buttonset(); 
 

 
\t $('input[name=' + s_selectiongrpName + ']').each(function() 
 
\t { 
 
\t \t $(this).on('click', function() 
 
\t \t { 
 
\t \t \t if($(this).attr(ADF_THIS_IS_LAST_SELECTED_ATTR)) 
 
\t \t \t { 
 
\t \t \t \t $(this).removeAttr('checked'); 
 
\t \t \t \t $(this).removeAttr(ADF_THIS_IS_LAST_SELECTED_ATTR); 
 
\t \t \t } else 
 
\t \t \t { 
 
\t \t \t \t $(this).attr(ADF_THIS_IS_LAST_SELECTED_ATTR, ADF_THIS_IS_LAST_SELECTED_VALUE); 
 
\t \t \t } 
 

 
\t \t \t $('input[name=' + s_selectiongrpName + ']').not(this).removeAttr(ADF_THIS_IS_LAST_SELECTED_ATTR); 
 
\t \t \t if(b_useJQueryUiThemeToDecorate) $('#jQueryUi-' + s_selectiongrpName).buttonset('refresh'); 
 

 
\t \t \t if($('input[name=' + s_selectiongrpName + ']:checked').length > 0) 
 
\t \t \t { 
 
\t \t \t \t $('#fieldset-' + s_selectiongrpName + '-resultarea').html('You have selected : [' + $(this).val() + '].'); 
 
\t \t \t } else 
 
\t \t \t { 
 
\t \t \t \t $('#fieldset-' + s_selectiongrpName + '-resultarea').html('Nothing is selected.'); 
 
\t \t \t } 
 
\t \t \t $('#fieldset-' + s_selectiongrpName + '-result').show(); 
 
\t \t }); 
 
\t }); 
 
} 
 

 
$(document).ready(function() { 
 
\t var ADF_USE_JQUERYUI_THEME_TO_DECORATE=true; 
 
\t selectiongrp_control('selectiongrp-01', !ADF_USE_JQUERYUI_THEME_TO_DECORATE); 
 
\t selectiongrp_control('selectiongrp-02', ADF_USE_JQUERYUI_THEME_TO_DECORATE); 
 
});
<!-- Load jQuery core library --> 
 
<script type='text/javascript' src='http://code.jquery.com/jquery-2.1.4.min.js'></script> 
 

 
<!-- Load jQueryUI library--> 
 
<script type='text/javascript' src='http://code.jquery.com/ui/1.11.4/jquery-ui.js'></script> 
 

 
<!-- Load jQueryUI Theme library (make either one effective) --> 
 
<!-- 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.css'> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/ui-darkness/jquery-ui.css'> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/blitzer/jquery-ui.css'> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/eggplant/jquery-ui.css'> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/flick/jquery-ui.css'> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css'> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/sunny/jquery-ui.css'> 
 
--> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/redmond/jquery-ui.css'> 
 

 

 

 
<h3>Plain (without styling/decoration):</h3> 
 
<fieldset id='fieldset-selectiongrp-01'> 
 
\t <legend>Please <b>click</b> to <b>select</b> or <b>re-click</b> to <b>deselect</b> </legend> 
 
\t <span id='jQueryUi-selectiongrp-01'> 
 
\t \t <input type='radio' name='selectiongrp-01' value='Yes' id='selectiongrp-01-option-Y'/><label for='selectiongrp-01-option-Y'>Yes</label> 
 
\t \t <input type='radio' name='selectiongrp-01' value='No' id='selectiongrp-01-option-N'/><label for='selectiongrp-01-option-N'>No</label> 
 
\t \t <input type='radio' name='selectiongrp-01' value='Unknown' id='selectiongrp-01-option-U' /><label for='selectiongrp-01-option-U'>Unknown</label> 
 
\t </span> 
 
</fieldset> 
 
<fieldset id='fieldset-selectiongrp-01-result'> 
 
\t <legend>Result</legend> 
 
\t <span id='fieldset-selectiongrp-01-resultarea'></span> 
 
</fieldset> 
 

 
<br/> 
 

 
<h3>Decorated by &quot;jQueryUI Theme&quot;:</h3> 
 
<fieldset id='fieldset-selectiongrp-02'> 
 
\t <legend>Please <b>click</b> to <b>select</b> or <b>re-click</b> to <b>deselect</b> </legend> 
 
\t <span id='jQueryUi-selectiongrp-02'> 
 
\t \t <input type='radio' name='selectiongrp-02' value='Yes' id='selectiongrp-02-option-Y'/><label for='selectiongrp-02-option-Y'>Yes</label> 
 
\t \t <input type='radio' name='selectiongrp-02' value='No' id='selectiongrp-02-option-N'/><label for='selectiongrp-02-option-N'>No</label> 
 
\t \t <input type='radio' name='selectiongrp-02' value='Unknown' id='selectiongrp-02-option-U' /><label for='selectiongrp-02-option-U'>Unknown</label> 
 
\t </span> 
 
</fieldset> 
 
<fieldset id='fieldset-selectiongrp-02-result'> 
 
\t <legend>Result</legend> 
 
\t <span id='fieldset-selectiongrp-02-resultarea'></span> 
 
</fieldset>

+0

Eso parece un montón de código. ¿Te importaría explicar el beneficio de ello? ¿Cómo aborda la pregunta original mejor que las respuestas existentes? – RJHunter

0

Según el comportamiento primitivo del "grupo de botones de radio" que solo se puede seleccionar un botón dentro del mismo grupo, siempre se prefiere "enfoque de botones de radio" que "enfoque de casillas de verificación", ya que puede ayudar a prevenir anomalías el envío de datos en caso de que JavaScript o la codificación jQuery no puedan cargarse correctamente.

Entonces, el único desafío que tenemos que resolver es hacer que el botón de radio seleccionado sea 'deseleccionable'.

Por lo tanto, aquí hay un ejemplo para mostrar que, mediante el uso de control de JavaScript adicional, los botones de opción aún se pueden eliminar. Este ejemplo ha usado jQuery como el marco principal de JavaScript.

La versión en línea también está disponible en JSFiddle.neta: http://jsfiddle.net/0fbef3up/

Este ejemplo ha considerado proporcionar un escenario de contingencia en caso de que la codificación JavaScript o jQuery no se cargue, por lo que se proporciona un 'elemento de opción contingente'. Con el fin de ver cómo será tal escenario especial y ¿Cómo funciona la contingencia, puede simplemente omitir la carga de la biblioteca jQuery por el comentario/borrar la línea correspondiente de código:

<script type='text/javascript' src='http://code.jquery.com/jquery-2.1.4.min.js'></script> 

A continuación se muestra el código HTML completo/Código JavaScript para demostración La esencia está en la función de JavaScript 'selectiongrp_logicControl', puedes estudiarla para referencia.

JavaScript (es decir, control/capa del modelo) en el primer cuadro y HTML (es decir, capa de presentación) de codificación en el segundo marco de codificación:

function selectiongrp_logicControl(s_selectiongrpName, b_useJQueryUiThemeToDecorate) 
 
{ 
 
\t // Safeguard measure: If the mandatory function parameter is undefined or empty, nothing can be proceed further, so quit the current function with excit code: 
 
\t if (!s_selectiongrpName) return -1; 
 

 

 
\t // Define a constant for future use: 
 
\t var ADF_THIS_IS_LAST_SELECTED='adf_this-is-last-selected'; 
 

 
\t // Hide the 'contingent select option item' and all its relevant ancillary objects (i.e. the label element): 
 
\t $('#' + s_selectiongrpName + '-option-X').hide(); 
 
\t $('#' + s_selectiongrpName + '-option-X').next('label').hide(); 
 

 
\t // Decorate the selection group option items and their labels by applying the jQueryUI 'buttonset' function: 
 
\t if(b_useJQueryUiThemeToDecorate) $('#jQueryUi-' + s_selectiongrpName).buttonset(); 
 

 
\t // Loop for each option item within the selection group: 
 
\t $('input[name=' + s_selectiongrpName + ']').each(function() 
 
\t { 
 
\t \t // Define an 'onClick' event for every option item within the selection group: 
 
\t \t $(this).on('click', function() 
 
\t \t { 
 
\t \t \t // If the option item being clicked is the last selected one, then de-select such item. 
 
\t \t \t // Two ways can achieve de-selection, apply either one below to adapt to your programming style or desired controller mechanism. 
 

 
\t \t \t if($(this).attr(ADF_THIS_IS_LAST_SELECTED)) 
 
\t \t \t { 
 
\t \t \t \t // Way[1]: Force selecting another item within the same selection group. 
 
\t \t \t \t // This Way entails the 'contingent select option item'. So, if you consider such 'contingent select option item' is unnecessary/inappropriate to your programming style or controller mechanism, please don't choose this Way. 
 
\t \t \t \t // (Note: Such 'contingent select option item' was deliberately hidden at the outset). 
 
\t \t \t \t // $('#' + s_selectiongrpName + '-option-X').prop('checked', true); 
 

 
\t \t \t \t // Way[2]: Simply remove the current item's "checked" attribute: 
 
\t \t \t \t $(this).removeAttr('checked'); 
 

 
\t \t \t \t // Both Way[1] and Way[2]: Remove the additional attribute from the item being clicked. 
 
\t \t \t \t $(this).removeAttr(ADF_THIS_IS_LAST_SELECTED); 
 
\t \t \t } else 
 
\t \t \t { 
 
\t \t \t \t // Apply an additional attribute to the item being clicked. This additional attribe functioned as a secret hint for internal reference to signify the item was the last seledcted one: 
 
\t \t \t \t $(this).attr(ADF_THIS_IS_LAST_SELECTED, ADF_THIS_IS_LAST_SELECTED); 
 
\t \t \t } 
 
\t \t \t // Other than the item being clicked, all other items (i.e. denotes by the jQuery 'not(this)' selector) should have removed such additional attribute: 
 
\t \t \t $('input[name=' + s_selectiongrpName + ']').not(this).removeAttr(ADF_THIS_IS_LAST_SELECTED); 
 

 
\t \t \t // Force the jQueryUI engine to re-render the decoration to reflect the latest selection by applying the 'buttonset' function again (provide the 'refresh' parameter): 
 
\t \t \t if(b_useJQueryUiThemeToDecorate) $('#jQueryUi-' + s_selectiongrpName).buttonset('refresh'); 
 

 
\t \t \t // Lastly, this is an optional step, refresh the Result Area for displaying user's latest selection on specific screen area: 
 
\t \t \t selectiongrp_visualControl_refreshResultArea(s_selectiongrpName); 
 
\t \t }); 
 
\t }); 
 
} 
 

 

 

 
function selectiongrp_visualControl_refreshResultArea(s_selectiongrpName) 
 
{ 
 
\t // Safeguard measure: If the mandatory function parameter is undefined or empty, nothing can be proceed further, so quit the current function with excit code: 
 
\t if(!s_selectiongrpName) return -1; 
 

 

 
\t var adf_resultArea_string; 
 
\t var ADF_RESULTAREA_STRING_NOTHING_SELECTED='Nothing is selected'; 
 

 
\t // If Way[1] is adopted: 
 
\t if($('#' + s_selectiongrpName + '-option-X').prop('checked')) 
 
\t { 
 
\t \t adf_resultArea_string=ADF_RESULTAREA_STRING_NOTHING_SELECTED; 
 
\t } else // If Way[2] is adopted: 
 
\t { 
 
\t \t // If some option items are selected within the selection group: 
 
\t \t if($('input[name=' + s_selectiongrpName + ']:checked').length > 0) 
 
\t \t { 
 
\t \t \t adf_resultArea_string='You have selected : [' + $('input[name=' + s_selectiongrpName + ']:checked').next('label').text() + ']'; 
 
\t \t } else 
 
\t \t { 
 
\t \t \t adf_resultArea_string=ADF_RESULTAREA_STRING_NOTHING_SELECTED; 
 
\t \t } 
 
\t } 
 

 
\t $('#fieldset-' + s_selectiongrpName + '-resultarea').html(adf_resultArea_string); 
 
\t $('#fieldset-' + s_selectiongrpName + '-result').show(); 
 
} 
 

 
$(document).ready(function() 
 
{ 
 
\t var ADF_USE_JQUERYUI_THEME_TO_DECORATE=true; 
 
\t selectiongrp_logicControl('selectiongrp-01', !ADF_USE_JQUERYUI_THEME_TO_DECORATE); 
 
\t selectiongrp_logicControl('selectiongrp-02', ADF_USE_JQUERYUI_THEME_TO_DECORATE); 
 

 
\t // If jQuery can be loaded properly, the error message must be hidden: 
 
\t $('#jquery-compatibility-error').hide(); 
 
});
<!-- Load jQuery core library --> 
 
<script type='text/javascript' src='http://code.jquery.com/jquery-2.1.4.min.js'></script> 
 

 
<!-- Load jQueryUI library --> 
 
<script type='text/javascript' src='http://code.jquery.com/ui/1.11.4/jquery-ui.min.js'></script> 
 

 
<!-- Load jQueryUI Theme library (make either one effective) --> 
 
<!-- 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.min.css'/> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/ui-darkness/jquery-ui.min.css'/> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/blitzer/jquery-ui.min.css'/> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/eggplant/jquery-ui.min.css'/> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/flick/jquery-ui.min.css'/> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css'/> 
 
<link rel="stylesheet" type="text/css" href='http://code.jquery.com/ui/1.11.4/themes/sunny/jquery-ui.min.css'/> 
 
--> 
 
<link rel='stylesheet' type='text/css' href='http://code.jquery.com/ui/1.11.4/themes/redmond/jquery-ui.min.css'> 
 

 

 
This webpage is primarily to demonstrate de-selectable radio boxes. 
 

 
<h3 id='jquery-compatibility-error'>ERROR: It was detected that JavaScript or jQuery coding does not load properly, so some advance feature cannot be realised.</h3> 
 

 
<h3>Style1: Raw (i.e. no styling/decoration):</h3> 
 
<fieldset id='fieldset-selectiongrp-01'> 
 
\t <legend>Please <b>click</b> to <b>select</b> or <b>re-click</b> to <b>deselect</b></legend> 
 
\t <span id='jQueryUi-selectiongrp-01'> 
 
\t \t <input type='radio' name='selectiongrp-01' value='X' id='selectiongrp-01-option-X' checked/><label for='selectiongrp-01-option-X'>None/NULL/Non-Selected <small><small>(This option is provided for contingency purpose in case JavaScript or jQuery does not load)</small></small></label> 
 
\t \t <input type='radio' name='selectiongrp-01' value='Y' id='selectiongrp-01-option-Y'/><label for='selectiongrp-01-option-Y'>Yes</label> 
 
\t \t <input type='radio' name='selectiongrp-01' value='N' id='selectiongrp-01-option-N'/><label for='selectiongrp-01-option-N'>No</label> 
 
\t \t <input type='radio' name='selectiongrp-01' value='U' id='selectiongrp-01-option-U' /><label for='selectiongrp-01-option-U'>Unknown</label> 
 
\t </span> 
 
</fieldset> 
 
<fieldset id='fieldset-selectiongrp-01-result' style='display:none'> <!-- Initaially hidden by using stylesheet attribute "style='display:none'"--> 
 
\t <legend>Selection</legend> 
 
\t <span id='fieldset-selectiongrp-01-resultarea'><br/></span> 
 
</fieldset> 
 

 
<br/> 
 

 
<h3>Style2: Decorated by &quot;jQueryUI Theme&quot; <small><small>(jQueryUI Theme adopted: '<i>Redmond</i>')</small></small>:</h3> 
 
<fieldset id='fieldset-selectiongrp-02'> 
 
\t <legend>Please <b>click</b> to <b>select</b> or <b>re-click</b> to <b>deselect</b></legend> 
 
\t <span id='jQueryUi-selectiongrp-02'> 
 
\t \t <input type='radio' name='selectiongrp-02' value='X' id='selectiongrp-02-option-X' checked/><label for='selectiongrp-02-option-X'>None/NULL/Non-Selected <small><small>(This option is provided for contingency purpose in case JavaScript or jQuery does not load)</small></small></label> 
 
\t \t <input type='radio' name='selectiongrp-02' value='Y' id='selectiongrp-02-option-Y'/><label for='selectiongrp-02-option-Y'>Yes</label> 
 
\t \t <input type='radio' name='selectiongrp-02' value='N' id='selectiongrp-02-option-N'/><label for='selectiongrp-02-option-N'>No</label> 
 
\t \t <input type='radio' name='selectiongrp-02' value='U' id='selectiongrp-02-option-U' /><label for='selectiongrp-02-option-U'>Unknown</label> 
 
\t </span> 
 
</fieldset> 
 
<fieldset id='fieldset-selectiongrp-02-result'style='display:none;'> <!-- Initaially hidden by using stylesheet attribute "style='display:none'"--> 
 
\t <legend>Selection</legend> 
 
\t <span id='fieldset-selectiongrp-02-resultarea'><br/></span> 
 
</fieldset>

Cuestiones relacionadas