簡體   English   中英

從其他控件關閉折疊面板(手風琴)

[英]close a collapse panel(accordion) from other control

我正在嘗試從標簽的click事件關閉和禁用手風琴。

單擊標簽時。 手風琴應該被禁用和關閉。 我可以使用addClass方法禁用它

$('#c5').addClass('ui-state-disabled');
<div class="accordionHeader">
    <h3 id="c5">Advance Settings (C5)</h3>
    <div class="accordionContent">my content</div>
</div>

為了關閉手風琴,我嘗試使用

$('#c5').prop('active',false);
$('#c5').attr('active',false);

都不行。

我不想使用之前必須從其他控件調用它

$(".accordionHeader").accordion({
    header: "h3",
    collapsible: true,
    active: false
});

API文檔中

active設置為false將折疊所有面板。 這要求collapsible選項為true

因此,使用以下HTML,

<div class="accordionHeader">
     <h3 id="c5">Advance Settings (C5)</h3>
     <div class="accordionContent">my content</div>
</div>
<label id='c5label'>Disable accordion <input type="checkbox" /></label>

此JS將啟動手風琴並在第一次單擊標簽#c5label時關閉/禁用它:

<script>
jQuery(document).ready(function($) {
    $(".accordionHeader").accordion({ collapsible: true });
    $('#c5label').click(function(){
        if( $( ".accordionHeader" ).accordion( "option", "active") === false )
            return;

        $('#c5').addClass('ui-state-disabled');
        $( ".accordionHeader" ).accordion( "option", "active", false );
    });
});
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM