2012-10-14 25 views
0

可能重複後:
jQuery: select an element’s class and id at the same time?使用VAR在接下來的函數調用Ajax

當我有這個Ajax調用的函數,我需要更新與類股利和某些ID:

 $(function() { 
     $(".click-follow").click(function() { 

      var user_id = "<?=$id?>"; 
      var id = $(this).attr('title'); 
      var dataString = 'user_id=' + user_id + '&id=' + id; 

      $.ajax({ 
       type: "POST", 
       url: "/ajax/follow.php", 
       data: dataString, 
       }).done(function(result) { 
        myresult(result); 
      }); 

      return false; 
     }); 
    }); 


function myresult(result) { 
var result_lines = result.split("<splitter>");  
if (result_lines[0] == '1') { 
    $('.click-follow').html(result_lines[1]).fadeIn(500); 
    $('.follow').html(result_lines[2]).fadeIn(500); 
} else if (result_lines[0] == '2') { 
    $('.click-follow').html(result_lines[1]).fadeIn(500); 
    $('.follow').html(result_lines[2]).fadeIn(500); 

} 
return true; 

}

所以我想使用var ID的功能myresult,例如:

$('.click-follow#' + id).html(result_lines[1]).fadeIn(500); 

例如:我有3個div的:

<div class="click_follow" id="1"></div> 
<div class="click_follow" id="2"></div> 
<div class="click_follow" id="3"></div> 

當我點擊DIV 1,我也想更新div 1,但我不知道如何在函數調用ajax之後使用var id。問題是,div的量是不知道......所以可以20級div的或2 ...

+0

'$('。click-follow#'+ id)'對我來說看起來不錯,你到底有什麼問題?如果'id'是空的或者在你需要它的地方不可訪問(這兩者在你的代碼中似乎都是這種情況),這是行不通的。 –

+0

問題是我想通過ajax調用中的var id傳遞給我在調用ajax之後調用的函數.... – Stefan

+0

然後執行此操作。 'myresult(id,result)'並相應地調整'myresult'。但是不要傳遞ID然後再選擇元素,只需傳遞元素本身。 –

回答

0

我想你真正想要的是對元素的引用被點擊,這很簡單:

$(".click-follow").click(function() { 
    var element = this; 
    //... 

    $.ajax({ 
     type: "POST", 
     url: "/ajax/follow.php", 
     data: dataString, 
    }).done(function(result) { 
     myresult(element, result); 
    }); 
}); 

function myresult(element, result) { 
    // ... 
    $(element).html(result_lines[1]).fadeIn(500); 
} 
0
$(".click-follow").click(function() { 
    $("#fade").fadeIn() 
}); 

Demo