2016-06-19 6 views
-2

ユーザーからコメントを削除しようとしていますが、CRUDが機能していない理由を理解することができません。私のconsole.log( "ID"、commentId)が未定義のIDを返すので、私はほぼ$(this)の.parent()。data( 'id')です。基本CRUDアプリケーションで削除が機能しない

  // Delete Comment From a Meme 
      $('.deletebutton').on('click', function(element) { 
       event.preventDefault(); 
       var commentId = $(this).parent().data('id'); ////id needs to point to id of comment 
       console.log("ID", commentId) 
       window.glob = $(this); 
       $(this).parent().remove(); 
       doYouLikeMeme.deletePost(commentId); 
      }); 

     deletePost: function(commentId) { 
      var DeletePost = doYouLikeMeme.url + "/" + commentId; 
      $.ajax({ 
       url: DeletePost, 
       method: "DELETE", 
       success: function(data) { 
        console.log("WE DELETED SOMETHING", data); 
        doYouLikeMeme.getPost(); 

       }, 
       error: function(err) { 
        console.error("ugh", err); 
       } 
      }) 
     }, 


    }; 
+0

どの部分が機能しませんか?コンソールログメッセージが表示されますか?エラーメッセージが表示されますか?投稿を削除するバックエンドコードはどこですか? – JJJ

+0

@Juhana私は$(this).parent()。data( 'id')ということはほぼ肯定的です。私のconsole.logでcommentIDが未定義に戻ってきました。あなたにもっと文脈を与えるために、私は "x"として表されるタグと共にページにliを追加します。 $( 'deletebutton。 ')に(' クリック'、関数(要素){ event.preventDefault();。。 VAR commentId = $(この).parent()データ( 'ID'); コンソール.log( "ID"、commentId) window.glob = $(this); $(this).parent(); remove(); doYouLikeMeme.deletePost; }); – codegrobg

+1

はい、そのコードは既に問題になっています。 * frontend *コードです。 *バックエンド*コードはどこですか?関数の呼び出し時に表示されるコンソールログメッセージはどれですか? – JJJ

答えて

0

あなたの親要素のHTMLは次のようにid属性が含まれている場合:あなたの親要素のHTMLがdata-id="something"などのデータ属性は、その後.DATAを使用して含まれている場合id="something"を、この

$(this).parent().attr('id'); 

を試してみてください( 'ID')あなたのコードでやったように。

+0

これはコメントでなければなりません:* idは関連するhtmlにどのように格納されていますか?*それ以外はこれは単なる推測です。 –

+0

オプションを提供するように更新しました – grateful

関連する問題