use $(this) in ajax callback jquery
i'm doing a jQuery.pos开发者_JAVA百科t
to a php file, and the file return's me a value.
the question is: why the $(this)
dosent work in the callback function ?
any alert passing something to show, using $(this)
, return's me null
$(".class").live("focusout", function(){
jQuery.post("phpfile.php",
{
someValue: someValue
},
function(data)
{
// why the $(this) dosent work in the callback ?
}
)
});
In that case this
is not the same object anymore. Save a reference before and use later:
$(".class").live("focusout", function(){
var $this = $(this);
jQuery.post("phpfile.php",
{
someValue: someValue
},
function(data)
{
// 'this' inside this scope refers to xhr object (wrapped in jQuery object)
var x = $this;
}
)
});
$(".class").live("focusout", function(){
var this = $(this);
jQuery.post("phpfile.php",{
someValue: someValue
},function(data){
// Now use this instead of $(this), like this.hide() or whatever.
})
});
$(this) in your example was refering to the $.post i think.
精彩评论