2012-07-17 86 views
0
<script type="text/javascript"> 

     var url = document.URL; 
     var strg = url.toString(); 
function StartAjax(ResultsId){ 
    $.ajax({ 
     type: "GET", 
     url: "mark.php", 
     cache: false, 
    data: (strg), 
     success: function(html){ 
     $("#"+ResultsId).append(html); 
     **$("#").hide();** 
     } 

    }); 

} 
</script> 

<br><a href="#" name="link" onclick="StartAjax('ResultsId');">Proceed</a> 
<div id="ResultsId"></div> 

阿賈克斯做它應該做的事情,但是如何在被點擊後隱藏鏈接?阿賈克斯 - 被點擊後隱藏鏈接

回答

0

你應該可以做一個$(this).hide();或者你可以給錨標記一個類,所以

<br><a href="#" name="link" class="thisBtn" onclick="StartAjax('ResultsId');">Proceed</a> 

然後

success: function(html){ 
    $("#"+ResultsId).append(html); 
    $(".thisBtn').hide(); 
    } 
+0

'$(this).hide()'會失敗,因爲AJAX回調會設置一個新的'this'上下文。 – Utkanos 2012-07-17 14:10:16

0


<a href="#" name="link" class="clickme" onclick="StartAjax('ResultsId');">Proceed</a> 

    $('.clickme').click(function(event){ 

     var _this = this; 
     $.ajax({ 
      type: "GET", 
      url: "mark.php", 
      cache: false, 
     data: (strg), 
      success: function(html){ 
      $("#"+ResultsId).append(html); 

      $(_this).hide(); 

      } 

     }); 

}); 

所以,你在這裏做什麼是註冊點擊你的事件,一旦它運行保存參考當前元素。由於它仍然在相同的範圍內運行,因此您可以在成功中訪問它,您可以隱藏它。

0

你基本上在問:「如何用jQuery選擇元素」。在你的HTML的當前狀態,鏈接可能會被有針對性的,像這樣:

$('a[name=link]').hide(); 

然而,由於代碼在調用由鏈路的事件回調運行時,我們可以使用相對引用。 @Jure C.的答案顯示了這一點。另一個會是:

success: (function(link) { return function(html) { 
    $('#'+ResultsId).append(html); 
    link.hide(); 
}; })($(this)) 
+0

作品,非常感謝你。你爲我節省了很多時間! – 2012-07-17 14:06:37