2010-12-17 4 views
4
I added this script on my page..it didnt work 

    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#accordion").accordion({ active: false, collapsible: true }); 
    }); 

私のアコーディオンどのようにページローディングで最初に折り畳まれたアコーディアンヘッダーを作成するのですか?

<cc1:Accordion ID="Accordion1" runat="server" FadeTransitions="true" Visible="true" AutoSize="None"SelectedIndex="0" RequireOpenedPane="false" TransitionDuration="250" 
HeaderCssClass="accordionHeader toggler" ContentCssClass="accordionContent expanded toggler"> 
       <HeaderTemplate> 

        <b style="color: Black"> 

         <%#Eval("Ques")%> 
        </b> 

       </HeaderTemplate> 


       <ContentTemplate> 
       <p> <%#DataBinder.Eval(Container.DataItem, "QuesAns")%></p> 

       </ContentTemplate> 
      </cc1:Accordion> 

私は、ときにページのロードされた拡大最初のヘッダを参照してください。ページの読み込み時にそれらをすべて折りたたむにはどうすればいいですか?

+0

IDはAccordion1です。しかし、長い文字列にIDを変換する.netスクリプトについていくつかのことがあります。ページを実行してIDを見て、それが本当に何であるかを見るためにソースコードを見てください。 – Tyde

+0

あなたのサーバーコントロールで$ .accordionがサポートされていますか?cc1:Accordion? – Sherwin

+0

はい!私は非常に確信しています。何が悪いのですか? – Serenity

答えて

9

を試してみてください - 単に「SelectedIndex="-1"を設定する代わりに、「0」(プラスRequireOpenedPane =「false」と、それはすでにあなたのマークアップに設定されています)。..あなたが本当にドンその手の込んだonReadyスクリプトが必要です。

+0

ただし、最初のページ枠はページの読み込み時に開きます。 – rahularyansharma

2

セレクタが間違っていると思います。

は、そのための簡単な修正はあり

$(document).ready(function(){ 
    $("#<%=Accordion1.ClientID %>").accordion({ active: false, collapsible: true }); 
}); 
+1

これは終了%がありません> – rtpHarry

+1

タイプミスを修正しました。おかげ@rtpHarry – rahul

1

私はあなたの選択が間違っていると思う:

$(document).ready(function(){ 
    $("#<%= Accordion1.ClientID %>").accordion({ active: false, collapsible: true }); 
}); 

これはあなたのページの内部ではなく外部のJavaScriptファイルまたは<% =%>コード・ブロック文句を言わないで実行を受けるに行かなければならないでしょう。

サイドノート:jquery UIアコーディオンコードのように見えるが、asp.net Ajax Control Toolkitアコーディオンコントロールのように見えるjquery表記を使用しています。これがあなたがやっていることなら、それはおそらく働きません。ただし、Microsoft Ajaxライブラリに含まれているACTの最新バージョンをお持ちの場合は、ここで修正することができます。私は彼らがjqueryプラグインとして公開されるACTコントロールのすべてを再実装したことを知っていますが、私はそのリリースを使用していません。

2

あなたはそれらすべてがクローズさせるには

Accordion1.RequireOpenedPane = false; 

を設定する必要があります。また、selectedIndexを-1に設定する

1

脇役に:アコーディオン(または他のjsトリガーレイアウト)を使用すると、FOUC(非構造化コンテンツのFlash)が危険にさらされます。私はあなたのCSSにdisplay:noneとdivでアコーディオンコントロールをラップし、アコーディオンのjavascriptが実行されると、JQueryのshow()を使用して再び表示することができます。それから、アコーディオンは装飾されて表示されます。

関連する問題