osmanraifgunes
osmanraifgunes

Reputation: 1468

Semantic-ui accordion get index of opened item inside onOpen event

I have a semantic-ui accordion. It is working properly. But when user reloads page it is opening the default index item as expected. What I want is to open the lastly active index after page refresh. I decide to use javascript document.cookie to keep last active item's index. My problem is that I cannot get the index of element inside onOpen event.

HTML :

 <div class="ui styled accordion sticky">
    <div class="item">
        <div class="title active">
            Users
        </div>
        <div class="content active">
            List
        </div>
    </div>
    <div class="item">
        <div class="title active">
            Items
        </div>
        <div class="content active">
            List
        </div>
    </div>
</div>

JQ:

$('.ui.accordion').accordion({
    onOpen: function (item) {
         setCookie('acordionIndex',this.index);
    }
}).accordion('open', getCookie('acordionIndex'));

I found this question This question but the advised solution is not working.

Note : my getCookie and setCookie functions are working properly.

Upvotes: 0

Views: 2403

Answers (1)

osmanraifgunes
osmanraifgunes

Reputation: 1468

I have solved by trying alternative options. Changed onOpen event to onOpening

$('.ui.accordion').accordion('open', getCookie('acordionIndex') * 1).accordion({
        onOpening: function (item) {
            setCookie('acordionIndex', this.index('.content') - 1, 2)
        }
});

Upvotes: 2

Related Questions