0

jquery ui 1.9で単一のヘッダーを無効にすることは可能ですか?1.8を使用しているときに、これについて引用符を実行しましたが、それは不可能でした。私は方法が好きですが、それは本当にハードコーディングされています。タブが開き、ユーザーに許可がない場合はタブが閉じます。それで、今より良い方法はありますか?

最高の卒業生。

4

1 に答える 1

0

私は方法を見つけました、そして私はそれが他の誰かを大いに助けることを願ってそれを共有するのは悪いと思いました。:)

 $(function() {
     var icons = {
            header: "h3",
            activeHeader: "ui-icon-circle-arrow-s"
     };
        $( "#prod_accordion" ).accordion({
            active:<?php echo $db_obj->getValue('status') ? 'acc_'.$tab_status : 'acc_0'; ?>,
            icons: icons,
            autoHeight: false,
            beforeActivate: function(event, ui) {
                var newIndex = $(ui.newHeader).index('h3');
                if (jQuery.inArray(newIndex , accordion_array) == -1) {
                    event.preventDefault();
                }
            }

        });
    });

これaccrodion_arrayは(1,2,3,4)のようなインデックスを持つ配列であり、クリックされたアコーディオンのインデックスが5が配列にあると言うことができるかどうかを確認します。そうでない場合、perventDefault()とアコーディオンヘッダーは開きません。

  • 配列にないアコーディオンヘッダーに追加ui.addClass('ui-state-disabled');すると、ユーザーは開くことができないアコーディオンになります。:)
于 2012-12-12T12:25:51.607 に答える