0

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 番目のメソッドで何かを見つけません。

フォームを見つけて閉じるにはどうすればよいですか? キャンセル呼び出し (バインディング) がフォーム内にネストされているため、スコープの問題ですか?

ここで何が恋しいですか?

4

1 に答える 1

1

私が間違っていなければ、キャンセル ボタンの Id は div Id とは異なって見えます

于 2012-08-28T20:42:12.383 に答える