2013-04-04 48 views
0

我想從已經由另一個ajax加載的Anchor標記將值傳遞給ajax。 我有一個名爲profilesearch.php的頁面。我在頭從已經由另一個ajax加載的A標記將值傳遞給ajax

function loadData(page){ 
$.ajax({ 
type: "POST", 
url: "load_data.php", 
data: 'page='+page+'&user='+<?php echo json_encode($_GET['uid']); ?>, 
success: function(msg){ 
    $("#container").ajaxComplete(function(event, request, settings){ 
     loading_hide(); 
     $("#container").html(msg); 
     }); 
    } 
}); 
} 

這段代碼將從load_data.php文件返回一組div來了#container的分頁此代碼。每個div都會有一個Anchor標籤,Anchor標籤的ID是#myAnchor。當用戶單擊#myAnchor時,它應該再次對文件updateAjax.php執行另一個ajax。

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#myAnchor").click(function(){ 
     alert("hi"); 
     $.ajax({ 
     url: "updateAjax.php", 
     data: 'varName=hi', 
     success: function(upmsg){ 
      $("#myAnchor").html(upmsg); 
     } 
     }); 
    }); 
}); 
</script> 

當我在同一個頁面即profilesearch.php能正常工作一個錨標記..但是當我從另一個Ajax請求加載一個錨它不工作。

回答

1

在涉及動態元素的情況下,您需要使用事件委託。您可以使用.on()來實現此目的。

$(document).ready(function(){ 
    $("#container").on('click', '#myAnchor', function(){ 
     alert("hi"); 
     $.ajax({ 
     url: "updateAjax.php", 
     data: 'varName=hi', 
     success: function(upmsg){ 
      $("#myAnchor").html(upmsg); 
     } 
     }); 
    }); 
}); 
0

嘗試調用點擊功能就像這樣:

$(document).on('click', '#myAnchor', function(){ 
    //code here 
)};