2017-02-23 8 views
2

アンカータグを削除するには、それぞれの行を削除したいと思います。アンカータグを削除するには、それぞれの行を削除したい

サーバーの応答から私は1を取得していますが、動作していないアンカータグの親の親を削除しようとしています。ここで

私のHTMLコードとしてコード

です:

      <tr> 
           <td><?php echo $w_value['pro_name']; ?></td> 
           <td><?php echo $w_value['sellingprice']; ?></td> 
           <td><a class="remove_wishlist" href="javascript:;" data-uid="<?php echo $uid;?>" data-pid="<?php echo $w_value['id']; ?>">Remove</td> 
          </tr> 

そして私のAjaxコードです:

jQuery(document).on("click",".remove_wishlist",function(){ 

    if(confirm('Are you sure to remove this item.')){ 

     var pid = jQuery(this).data("pid"); 
     var uid = jQuery(this).data("uid"); 
     var urll = WEBSITE_URL+"pages/removewishlist"; 
     var $this = $(this); 
     $.ajax({ 
      type:'post', 
      url:urll, 
      data:{pid:pid,uid:uid}, 
      success:function(data){ 
       console.log(data); 
       if(data == 1){ 

        $this.parent().parent("tr").remove();//this is not removing the entire row 

       } 
      } 
     }); 



    } 

}); 

答えて

1

あなたは<tr>に一致する親まで戻って横断する代わりにparents()を使用することができますセレクタ。関数.parent()はDOMツリーのレベルを1レベル上げますが、.parents()はすべての親コレクションを返します。

$this.parents("tr").remove(); 

二つの可能性が低いシナリオ:

あなたはコードブロック内の他の場所で行うように(と$を使用していない)、具体的jQueryを参照する必要があります。

var $this = jQuery(this); // was: $(this)

それはあるかもしれませんあなたのデータは返されるフォーマット(整数)ではないので、文字列 '1'との比較を試みることができます(これは既にテスト済みですが、すでに動作しています彼の方法あなたがタイプintegerとしてdataを比較し、それを書く):感謝コード@

if(data == '1'){ //.... 
+1

が正しかった問題が==「1」は正しい比較データにありました。 –

関連する問題