2012-02-08 8 views
0

jQuery dnnTabsをカスタムモジュールに実装しました。プログラムでタブを削除する方法を理解しようとしています。ここでdnnTabsからjQueryタブをプログラムで削除します

は、タブを設定するためのjavascriptです:ここで

<script type="text/javascript"> 
     jQuery(function ($) { 
       $('#tabs-demo').dnnTabs(); 
     }); 
    </script> 

は、私は、タグを削除するために作成した関数である:

 <script type="text/javascript"> 
     jQuery(function ($) { 
      $('#tabs-demo').dnnTabs(); 
     }); 
    </script> 

ここで私は、タグを削除するために作成された機能は以下のとおりです。

 <script type="text/javascript"> 
     function removeTab(tabID) { 
      $('#tabs-demo').dnnTabs('remove', tabID); 
     }; 
    </script> 

ここでコードから関数を呼び出す方法は次のとおりです。

 ScriptManager.RegisterStartupScript(Me.Page, Me.[GetType](), "tmp", "<script type='text/javascript'>removeTab(1);</script>", False) 

タブが削除されていません。私は運がない、いくつかの異なる反復を試みました。

+0

'tabID'はタブの実際のIDですか、それともdnnTabsが使用するインデックスですか? –

答えて

0

あなたはdnnTabs('remove')をスキップして、ちょうどjQueryを使ってDOMからそれを削除しようとすることができ:正しい道に私を取得するためにジョンとブライアン公爵に

<script type="text/javascript"> 
    function removeTab(tabID) { 
     $('#tabs-demo '+tabID).remove(); 
    }; 
</script> 
+0

John、 お返事ありがとうございます。残念ながらそれはうまくいきませんでした。私はあなたがTabIDがインデックスであり、テキストIDではないことを知っていることを確認したかったのです。 –

+0

ジョン、それはうまくいったように見えます。私はちょうどjquery funcion呼び出しで関数をラップする必要がありました。私は答えにそれを掲示します。 –

0

Thankd。ここで

は究極の修正です:

<script type="text/javascript"> 
     function removeTab(tabID) { 
      jQuery(function ($) { 
       $('#tabs-demo').tabs('remove', tabID); 
      }); 
     }; 
    </script> 
2

はModuleSettings制御を見てください。

タブは順序付けされていないリストであり、最後の最後のリストアイテムはrunat = "server"属性とidを持ちます。このタブはモジュール固有の設定に使用されます。何もないときは隠されます(または、プログラマがモジュールアクションメニューのアクションリンクを持つ特別なコントロールに入れている)。

<ul class="dnnAdminTabNav dnnClear"> 
    <li><a href="#msModuleSettings"><%=LocalizeString("ModuleSettings")%></a></li> 
    <li><a href="#msPermissions"><%=LocalizeString("Permissions")%></a></li> 
    <li><a href="#msPageSettings"><%=LocalizeString("PageSettings")%></a></li> 
    <li id="specificSettingsTab" runat="server"> 
     <asp:HyperLink href="#msSpecificSettings" ID="hlSpecificSettings" runat="server" /> 
    </li> 
</ul> 

最後のタブの可視性がコントロールのOnLoadイベントで処理され、「それ以外」の部分は、それが見えなくなります:

   //Set visibility of Specific Settings 
       if (SettingsControl == null == false) 
       { 
        //Get the module settings from the PortalSettings and pass the 
        //two settings hashtables to the sub control to process 
        SettingsControl.LoadSettings(); 
        specificSettingsTab.Visible = true; 
        fsSpecific.Visible = true; 
       } 
       else 
       { 
        specificSettingsTab.Visible = false; 
        fsSpecific.Visible = false; 
       } 

はそれが役に立てば幸い! Michael

関連する問題