2011-03-15 14 views
0

に私は、次のHTML構造を有する:jQueryの成功ポストバック親コンテナ

<span class="spam"> 
    <button class="spam_button" value="2">Spam</button> 
</span> 

を私は親のスパンで表示する応答を取得するにはトリングんだけど、私はそれを把握することはできません。

$('.spam_button').live('click', function() { 
    var spam_id =$(this).val(); 
    $.ajax({ 
     type: "POST", 
     url: "spam.php", 
     data: "spam_id="+spam_id, 
     success: function(html){ 
      $(this).parent().html(html);     
     } 
    }); 
}); 

答えて

7

クリック機能の中に要素を取り込む必要があります。成功コールバックの内側$(this)jsfiddle上ごbutton

$('.spam_button').live('click', function() { 
    var $button = $(this); 
    var spam_id =$button.val(); 
    $.ajax({ 
     type: "POST", 
     url: "spam.php", 
     data: "spam_id="+spam_id, 
     success: function(html){ 
      $button.parent().html(html);     
     } 
    }); 
}); 

コード例ajax()オブジェクトを参照していないことになります。

+0

私をビートしてください:D –

1

は、これを試してください:

$('.spam_button').live('click', function() { 
var $this = $(this); 
var spam_id =$this.val(); 
$.ajax({ 
    type: "POST", 
    url: "spam.php", 
    data: "spam_id="+spam_id, 
    success: function(html){ 
     $this.parent().html(html);     
    } 
}); 

})。