Jquery禁用基于URL的折叠选项卡

时间:2017-05-04 22:05:35

标签: jquery user-interface jquery-ui-accordion

我有以下JQuery代码:

    var activeIndex = parseInt($('#<%=hidAccordionIndex.ClientID %>').val());

$("#accordion").accordion({
                header: "h3",
                navigation: true,
                icons: false,
                active: activeIndex,                
                open: function (event, ui) {
                    icons: false;
                }
    });

工作正常。现在我想根据URL参数启用/禁用某些选项卡。如果用户键入http://example.com/mypage.aspx?key=profile而不是页面应该只有选项卡#3和#4启用所有其他选项卡应该被禁用。如果启用其他键值,则启用其他键值。如果URL中的键值不是所有选项卡都应启用。

我用Google搜索并展示了很多例子,但没有一个能解决我的问题。请帮忙。

1 个答案:

答案 0 :(得分:0)

我找到了一个简单的解决方案。发布在这里,可能对其他人有用。

在.css中添加:

.ui-accordion-header-disable 
{
    background-color:#dddddd; 
}
.aspx中的

将此类添加到要有条件禁用的标题中:

   <div id="accordion">
       <div class="ui-accordion-header-disable ">
          <h3 id="acc_email"><a href="#"><span style="font: 12px Arial, Helvetica, sans-serif; font-weight: bold">E-mail</span></a></h3>
            ....
         </div>

写脚本:

<script id="scriptInit" type="text/javascript">


            $(document).ready(function () {

                var key = getParameterByName('key');

                if(key == 'passwordchange')
                    $('.ui-accordion-header-disable').addClass('ui-state-disabled').unbind('click');
                else
                    $('.ui-accordion-header-disable').removeClass('.ui-accordion-header-disable').bind('click');                   

            });

            ....

    </script>