私は、divで隠された対応する質問に対して3つのフォームを持つWebページをコーディングしています。この機能のために単純な.accordion-toggleをブートストラップのフレームワークに使用しています。 ページ内の複数のリンクのjQuery show()とhide()
- ユーザーはそれがダウンして切り替えます「質問する」ボタンを選択します(.accordion-トグルを使用)、フォームは「質問する」リンクが消えなければならない()皮を使用してappears-。
フォームに投稿ボタンがあり、キャンセルリンク - キャンセルリンクによりフォームが折りたたまれて(ブートストラップ.collapseを使用して)トリガされると同時に、[Ask a question]ボタンが再度表示されます。
jQueryのshow()メソッドとhide()メソッドを使用して動作させることができます。しかし、同じページに3つのキャンセルボタンがあると、正しいdivを適切に折りたたむために、各リンクに一意の識別子を付ける方法がわかりません。
下記のフィディは、これまでのところ最も近い解決策です。
See @DanielAlmeida Fiddle
https://jsfiddle.net/ek57ao0y/
<div class='form form0'>
<ul>
<li><a href="#" class='showForm' data-target='.form1'>Show form 1</a></li>
<li><a href="#" class='showForm' data-target='.form2'>Show form 2</a></li>
<li><a href="#" class='showForm' data-target='.form3'>Show form 3</a></li>
<li><a href="#" class='showForm' data-target='.form4'>Show form 4</a></li>
</ul>
</div>
<div class='form form1'>
<h3>Form 1</h3>
<div>
<textarea name="" id="" cols="30" rows="10"></textarea>
</div>
<p>
<a href="#" class='cancel' data-target='.form0'>Cancel</a>
</p>
</div>
<div class='form form2'>
<h3>Form 2</h3>
<div>
<textarea name="" id="" cols="30" rows="10"></textarea>
</div>
<p>
<a href="#" class='cancel' data-target='.form0'>Cancel</a>
</p>
</div>
<div class='form form3'>
<h3>Form 3</h3>
<div>
<textarea name="" id="" cols="30" rows="10"></textarea>
</div>
<p>
<a href="#" class='cancel' data-target='.form0'>Cancel</a>
</p>
</div>
<div class='form form4'>
<h3>Form 4</h3>
<div>
<textarea name="" id="" cols="30" rows="10"></textarea>
</div>
<p>
<a href="#" class='cancel' data-target='.form0'>Cancel</a>
</p>
</div>
あなたのリンクにターゲットを使用することができると思います。この例をご覧ください。 –
@DanielAlmeida - ありがとう、特定のフォームをどのように非表示にするのですか?現在のコードでは、フォームのリンクをクリックするとフォームのリンクがすべて消えます。 –
'class = 'form form0''を' class =' form0''に変更します[この例をチェック](https://jsfiddle.net/6dy6q75n/3) –