jQuery UI の Menu による多階層メニュー全体の有効無効切替

jQuery UI の Menu Widget による多階層メニュー全体の有効/無効を、ラジオボタンで切り替える方法。

実装例(サンプル)

実装例(サンプル)の動作について

「有効」ラジオボタンをクリックし、チェックすると、多階層メニュー全体を有効化する。

「無効」ラジオボタンをクリックし、チェックすると、多階層メニュー全体を無効化する。

実装例(サンプル)のソースコード

読み込み

パスは、それぞれ、アップロードした場所を指定する。

<link rel="stylesheet" href="jquery-ui.css">
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript" src="ui/1.10.2/jquery-ui.js"></script>

JavaScript

<script>
jQuery( function() {
    jQuery( '#jqueryUiButtonRadio' ) . buttonset();
    jQuery( '#jqueryUiButtonRadio input[name^=jqueryUiButtonRadio]' ) . change( function () {
        var checked = jQuery( '#jqueryUiButtonRadio1' ) . prop( 'checked' );
        if ( checked ) {
            jQuery( "#sampleMenu" ).menu( { disabled: false } );
        } else {
            jQuery( "#sampleMenu" ).menu( { disabled: true } );
        }
    } ).change();
} );
</script>

CSS

<style>
<!--
.ui-menu {
    width: 200px;
    font-size: 12px;
}
#jqueryUiButtonRadio label {
    font-size: 15px;
}
-->
</style>

HTML

<ul id="sampleMenu">
    <li><a href="#">メニュー1</a></li>
    <li><a href="#">メニュー2</a>
        <ul id="sampleMenu">
            <li><a href="#">メニュー2-1</a>
                <ul id="sampleMenu">
                    <li><a href="#">メニュー2-1-1</a></li>
                    <li><a href="#">メニュー2-1-2</a></li>
                    <li><a href="#">メニュー2-1-3</a></li>
                </ul>
            </li>
            <li><a href="#">メニュー2-2</a></li>
            <li><a href="#">メニュー2-3</a></li>
        </ul>
    </li>
    <li><a href="#">メニュー3</a></li>
    <li><a href="#">メニュー4</a>
        <ul id="sampleMenu">
            <li><a href="#">メニュー4-1</a></li>
            <li><a href="#">メニュー4-2</a></li>
            <li><a href="#">メニュー4-3</a></li>
        </ul>
    </li>
    <li><a href="#">メニュー5</a></li>
</ul>

スポンサード リンク

カテゴリー: GUI, JavaScript, jQuery, jQuery UI, Menu, メニュー パーマリンク