我用Jquery 的ajax里边不能识别$(this)啦???代码如下:
$.ajax({type:"GET",url:"lanEdit.php?lanname="+lan_name,success:function(msg){varinfo=...
$.ajax({
type:"GET",
url:"lanEdit.php?lanname="+lan_name,
success:function(msg){
var info = eval('('+msg+')');
var state = info.state;
$(this).parents(".yuan").siblings(".more").find(".lanname").val(info.name);
最后这行的$(this)对象识别不了 怎么回事?非得写全才行!我外边套的是:$(".enter_caozuo").find(".gd").click(function(){
}
我外边套用两个$().click(function(){
$().click(function(){
mythis = $(this)
$.ajax({
mythis想引用的是邻近的$(this)可是报错 怎么办啊
})
})
}) 展开
type:"GET",
url:"lanEdit.php?lanname="+lan_name,
success:function(msg){
var info = eval('('+msg+')');
var state = info.state;
$(this).parents(".yuan").siblings(".more").find(".lanname").val(info.name);
最后这行的$(this)对象识别不了 怎么回事?非得写全才行!我外边套的是:$(".enter_caozuo").find(".gd").click(function(){
}
我外边套用两个$().click(function(){
$().click(function(){
mythis = $(this)
$.ajax({
mythis想引用的是邻近的$(this)可是报错 怎么办啊
})
})
}) 展开
3个回答
展开全部
你在ajax方法里写$(this)指向的是最近调用它的jquery对象,所以这里的$(this)指的是ajax对象,而不是$(".enter_caozuo").find(".gd"),要想解决这个问题,就需考虑增加一个中间变量传递这个对象,如楼上所说的那样做,示例:
$(".enter_caozuo").find(".gd").click(function(){
var mythis = $(this);
$.ajax({
type:"GET",
url:"lanEdit.php?lanname="+lan_name,
success:function(msg){
var info = eval('('+msg+')');
var state = info.state;
mythis.parents(".yuan").siblings(".more").find(".lanname").val(info.name);
//....你的代码
}
$(".enter_caozuo").find(".gd").click(function(){
var mythis = $(this);
$.ajax({
type:"GET",
url:"lanEdit.php?lanname="+lan_name,
success:function(msg){
var info = eval('('+msg+')');
var state = info.state;
mythis.parents(".yuan").siblings(".more").find(".lanname").val(info.name);
//....你的代码
}
推荐于2017-11-25 · 知道合伙人互联网行家
关注
展开全部
确实不能用,在ajax外面弄个变量var mythis = $(this),然后在里面用就行了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试下面这个。(在$.ajax之前将$(this) 赋给_that,然后在$.ajax()中你原来用$(this)的地方换成_that.$(".enter_caozuo").find(".gd").click(function(){ _that = $(this);//注意这个_that $.ajax({
type:"GET",
url:"lanEdit.php?lanname="+lan_name,
success:function(msg){
var info = eval('('+msg+')');
var state = info.state;
_that.parents(".yuan").siblings(".more").find(".lanname").val(info.name); //注意这个_that}
type:"GET",
url:"lanEdit.php?lanname="+lan_name,
success:function(msg){
var info = eval('('+msg+')');
var state = info.state;
_that.parents(".yuan").siblings(".more").find(".lanname").val(info.name); //注意这个_that}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询