I have group checkboxes and I like if this group have behaviour like radiobuttons with same name atribute.
Each checkbox has different name.
Only one can be
This live demo illustrates Radio Button can perform what you desired:
http://jsfiddle.net/ftnwg8yf/
function selectiongrp_control( s_selectiongrpName, b_useJQueryUiThemeToDecorate )
{
var ADF_THIS_IS_LAST_SELECTED_ATTR='adf_this-is-last-selected-attr'
var ADF_THIS_IS_LAST_SELECTED_VALUE='adf_this-is-last-selected-val';
if ( !s_selectiongrpName ) return -1;
$( '#fieldset-' + s_selectiongrpName + '-result' ).hide();
if( b_useJQueryUiThemeToDecorate ) $( '#jQueryUi-' + s_selectiongrpName).buttonset();
$( 'input[name=' + s_selectiongrpName + ']' ).each( function()
{
$( this ).on( 'click', function()
{
if( $( this ).attr( ADF_THIS_IS_LAST_SELECTED_ATTR ) )
{
$( this ).removeAttr( 'checked' );
$( this ).removeAttr( ADF_THIS_IS_LAST_SELECTED_ATTR );
} else
{
$( this ).attr( ADF_THIS_IS_LAST_SELECTED_ATTR, ADF_THIS_IS_LAST_SELECTED_VALUE );
}
$( 'input[name=' + s_selectiongrpName + ']' ).not( this ).removeAttr( ADF_THIS_IS_LAST_SELECTED_ATTR );
if( b_useJQueryUiThemeToDecorate ) $( '#jQueryUi-' + s_selectiongrpName ).buttonset( 'refresh' );
if( $( 'input[name=' + s_selectiongrpName + ']:checked' ).length > 0 )
{
$( '#fieldset-' + s_selectiongrpName + '-resultarea' ).html( 'You have selected : [' + $( this ).val() + '].');
} else
{
$( '#fieldset-' + s_selectiongrpName + '-resultarea' ).html( 'Nothing is selected.' );
}
$( '#fieldset-' + s_selectiongrpName + '-result' ).show();
});
});
}
$( document ).ready( function() {
var ADF_USE_JQUERYUI_THEME_TO_DECORATE=true;
selectiongrp_control( 'selectiongrp-01', !ADF_USE_JQUERYUI_THEME_TO_DECORATE );
selectiongrp_control( 'selectiongrp-02', ADF_USE_JQUERYUI_THEME_TO_DECORATE );
});
Plain (without styling/decoration):
Decorated by "jQueryUI Theme":