2011-03-06 22 views
6

jQueryアコーディオンからアイテムを削除するにはどうすればよいですか?私は、データベースから項目を削除し、アコーディオンで表示し、その項目を後で消す機能をユーザに与えるようにしています。私はアイテムの親DIVを隠そうとしましたが、ヘッダーは残っていて、アコーディオンは正しく機能しません。ここでjQueryアコーディオンの削除アイテム

は、マークアップ(基本的なアコーディオンの使用)は、次のとおりです。

<div id="accordion"> 
<h3><a href="#">The Title - Item 1</a></h3> 
<div> 
The Content - Item 1 
<a href="#" class="deleteItem">Delete</a> 
</div> 
<h3><a href="#">The Title - Item 2</a></h3> 
<div> 
The Content - Item 2 
<a href="#" class="deleteItem">Delete</a> 
</div> 
</div> 

ありがとう!

答えて

12

あなたは、コンテンツのdiv要素の子のクリックイベントにいると仮定すると、それは次のようになります。

ここ
var parent = $(this).closest('div'); 
var head = parent.prev('h3'); 
parent.add(head).fadeOut('slow',function(){$(this).remove();}); 

working exampleです。あとで動作しないアコーディオンについては不明ですが、そうでない場合は、アコーディオンを再初期化してください。

+0

ありがとうございます。私は、人々が一般的に試みるものではないことを見いだすための解決策を模索したとき、私は驚いた。私は1つのスレッドを見つけましたが、決して解決されませんでした。あなたの助けをありがとう – NightMICU

+0

問題ありません。それは私が必要なときにそれをやった方法に似ています。そのような2つの完全に無関係な要素を使用するよりも、アコーディオンを構築するためのより良い方法が必要だと思われますが、私は自分のものを作るようには決して感じませんでした。 –

0

このような条件がある場合、特定のパネルを削除するにはどうすればいいですか?Jqueryの助けを借りてパネルを削除した後も、私はサーブレットを呼び出すことができます。

    <% for(Entity result:pq.asIterable()) { 
        String geeta=(String)result.getProperty("Title"); 
        String fkey1 = result.getProperty("fkey").toString(); 

         %> 
         <div class="container"> 
          <div class="panel-group"> 
          <div class='panel panel-default'> 
           <div class='panel-heading panelHeading'> 
       <input id ="org" type="hidden" name="key" value="<%=fkey1%>" /> 
      <h4 class='panel-title '>+&nbsp<%=geeta %><a class="close">&times;</a></h4> 
           </div>  
        <div class='panel-body panelBody' style='display:none;'> 
        <a href="/update.jsp?key=<%=fkey1%>" target="blank"><h4><%=result.getProperty("Author") %></h4></a> 
        </div> 
        </div> 
       </div> 
       </div>      
          <% }%> 
関連する問題