1

このようにページを整理しました:

<div class="singlePost">
        <div class="post">  </div>
        <div class="comments" data-idPost="310"> </div>
        <div class="formComment">
            <textarea data-idPost="310"></textarea>
            <button data-idPost="310">Insert</button>
        </div>
 </div>
 <div class="singlePost">
        <div class="post">  </div>
        <div class="comments" data-idPost="304"> </div>
        <div class="formComment">
            <textarea data-idPost="304"></textarea>
            <button data-idPost="304">Insert</button>
        </div>
 </div>

投稿を区別するためにhtml5データ属性を使用しました.jqueryコードは次のとおりです。

$(".formCommento button").click(function() {

    idPost=$(this).attr('data-idpost');
    text=$('textarea[data-idpost="'+idPost+'"]').val();
    noty({text: 'I\'m going to insert '+text});
    //and here i make the ajax request
    return false;

});

これは、この種のものを整理する方法ではないと思います。ボタンをクリックすると複数のアクションが一緒に実行されるため、同じコメントが何度も挿入されるという問題があります。あなたは何をすることを提案しますか?

4

2 に答える 2

0

これを試して、関連するコンテキストを渡します。デフォルトでは、jQueryはドキュメントをコンテキストとして使用するため、ドキュメント全体を検索します

$(".formComment button").click(function() {
    var parentdiv = $(this).closest('.formComment');
    idPost=$(this).attr('data-idpost');
    text=$('textarea[data-idpost="'+idPost+'"]',parentdiv ).val();
    noty({text: 'I\'m going to insert '+text});
    //and here i make the ajax request
    return false;

});
于 2013-05-05T07:46:28.253 に答える