2 つの異なるリンクをクリックして、div を表示および非表示にしようとしています。(実際、私のページにはこれらのセクションがたくさんあるので、それらに ID を与える必要がありました)。
私のhtmlは次のようになります
<div id="meta-503d22ceaf32609515000003" class="answer-form">
<form action="..." method="...">
<p>
<textarea name=".."></textarea>
</p>
<p>
<input type="submit" value="..">
<a href="#" data-action="cancel" data-id="503526f7e8d08ecb0c000003">cancel</a>
</p>
</form>
</div>
<span class="content-nav">
<a href="#" data-action="open" data-id="503d22ceaf32609515000003">open form</a>
</span>
span
content-navigation
リンクをクリックするとフォームdata-action=open
が開きます。これは問題なく動作します。しかし、キャンセルをクリックすると、この回答フォーム div を非表示/閉じる/スライドアップする必要があります。
これが私のjQuery-Javascriptです:
$(document).ready(function() {
$("a[data-action=open]").on('click', function(e) {
var id = $(this).data('id');
console.log($("div#meta-" + id));
$("div#meta-" + id).slideDown('slow');
});
$("a[data-action=cancel]").on('click', function(e) {
var id = $(this).data('id');
console.log(id);
console.log(e);
console.log($("#meta-" + id));
});
});
2 番目のバインド クリック メソッドでは、ID を取得しますが、クエリは
$("#meta-"+id)
同じ呼び出しが最初のメソッドで何かを見つけますが、2 番目のメソッドで何かを見つけません。
フォームを見つけて閉じるにはどうすればよいですか? キャンセル呼び出し (バインディング) がフォーム内にネストされているため、スコープの問題ですか?
ここで何が恋しいですか?