2011-06-23 13 views
0

jqueryを使用してテーブルの行を削除したいとします。このjQuery(this).parent()。parent()。fadeOut();を書きます。文をAjaxの成功関数の外に出すと、行が消えます。 Ajaxの成功関数内で記述されていれば動作しません。誰かが私はrel属性を使用してIDを送信するMとAjaxのメソッドに値を送信するために良い方法を教えてできるかどうかここでajaxコールの成功関数を削除する

jQuery(document).ready(function() { 
     jQuery('.assignme').click(function(){ 
      id = jQuery(this).attr('rel'); 
      jQuery.ajax({ 
       url:'home.php?ajax=1&action=assing_to_agent&application_id='+id, 
       success:function(data){ 
        if(data==-1) 
         alert('Assigned to someone else'); 
        jQuery(this).parent().parent().fadeOut(); 
       } 
      }); 

      return false; 
     }); 
    }); 

は、HTML

また
<tr> 
    <td><button class="assignme" rel="<?php echo $row_rs_report['application_id']; ?>">Assign Me</button></td></tr> 

のですか?

答えて

2

あなたの成功がと呼ばれると、このの文が(覚えている限り)表示されます。少なくとも、あなたが参照しようとしていた要素ではないでしょう。

[EDIT]実際には、あなたがイベントの代わりにのrelID属性を使用することができ、したがって、あなたは(限りIDは一意であるように)そのボタンをポイントすると、そのTDの親を削除することができます。

HTMLになる可能性:

<tr> 
    <td> 
    <button class="assignme" id="<?php echo $row_rs_report['application_id']; ?>"> 
     Assign Me 
    </button> 
    </td> 
</tr> 

とJS:AJAXに引数を渡すためにVARを宣言

jQuery(document).ready(function() { 
     jQuery('.assignme').click(function(){ 
      var id = jQuery(this).attr('id'); 
      jQuery.ajax({ 
       url:'home.php?ajax=1&action=assing_to_agent&application_id='+id, 
       success:function(data){ 
        if(data==-1) 
         alert('Assigned to someone else'); 
        jQuery("#"+id).parent("td").fadeOut(); 
       } 
      }); 

      return false; 
     }); 
    }); 

され、私が行うために使用する方法、多分、より良いものがあります。

ところで、VAR文がVAR(より安全かつ迅速)の局所的な使用を保証することができます

マックス

+0

は私はuが絶対的に正しいです覚えWHTますuを教えてみましょう。 「これは他のことを指していた。私は変数に 'this'を格納し、成功関数で 'this'の代わりにその変数を使用しました。 – mysterious

+0

* this *をvarに格納することも問題を処理する別の方法です – JMax

関連する問題