2017-08-30 11 views
3

私はブートストラップaccordionをプログラムで追加しようとしています。追加ボタンをクリックするたびに、新しいアコーディオンが生成され、以前または他のいずれかが閉じます。私はmethodsの使い方についてブートストラップのドキュメントを理解することができず、どのオプションを渡すべきか、私は鉱山をいくつか置いたが動作しません。最後にアコーディオンを追加しました。

if(this.aCount === 1){ 
    $('.collapse').collapse('hide'); 
}else if(this.aCount === 2){ 
    $('.collapse').collapse('hide'); 
    $('.collapse').collapse('show'); 
} 

問題はアコーディオンの私のIDですが動的であるので、私はそれを使用することはできませんが、合計私のスクリプトでは、最近1を追加した3アコーディオンを生成し、それが新しいアコーディオンを追加するたびに、私は開きたいといずれかを閉じます開いたもの。今すぐ最初のものを開きます。

答えて

0

私の仕事はjsFiddleです。これを試してみてください。 jquery toggle()メソッドを使用して、クリックすると各divを開いて閉じます。次に、相対div要素を呼び出すためにsiblings()を使用しました。

ここではブートストラップを使用していません。 :)
これがあなたを助けてくれることを願っています。

+0

例を私の鉱山に適用するにはどうすればよいか分かりません。 – Nofel

+0

ああ大丈夫@ノーベル、なぜ? – bellabelle

+0

この例は手動で追加できます。 :) – bellabelle

0

あなたがイベントをバインドするために、.onメソッドを使用してjQueryの中に「委任のイベントは、」動的に作成することができます要素:

jQuery(document).on('click', '.collapse', function (e) 
{ 
    // SOME .collapse WAS CLICKED! 
    jQuery('.collapse').collapse('hide'); 
}); 

この方法で、.collapse要素がクリックされるたびに - でも要素があれば動的に作成されました。他のすべては閉じます。

+0

私はそれを得ました私のコードは何度も何度も実行されています(私は推測します)。隠されている場合、マイナスは変わりません。ここに私の新しい[codepen](https://codepen.io/codearts/pen/dzwdyj) – Nofel

+0

@Nofelはあなたのペンのフォークされたバージョンです:https://codepen.io/anon/pen/wqRXZz私はここで何かを単純化しましたそしてそこに。 –

+0

これは動作しません。赤い枠線はdivが+/- として表示され、urプラスが機能しないことを示します。 – Nofel

関連する問題