我点击功能foo
结合锚标记在jquery.ajax
。我面临的问题是我必须两次请求或单击锚标记两次以提出请求。另外我注意到在网吧的浏览器中,ajax请求没有被触发,第一次当我点击锚标签时。但是当我打了两次后,我在网络标签中看到两个ajax请求。我不知道发生了什么事?jQuery.ajax,我总是要求两次
<script type="text/javascript">
function show(thelink)
{
var cat = thelink.innerHTML;
var productContainer = document.getElementById("productContainer");
$.ajax({
type:"POST",
url:"fetchdata1",
data:"cat="+cat,
success:function(data){
productContainer.innerHTML ="";
var $productContainer = $('#productContainer');
$.each(data,function(key,value){
if(value['newVar'] === 1)
{
$productContainer.append("<div id='productBox' class='grid_3'>\n\
<a href='product.jsp?id="+value['id']+"'><img src='"+value["image"]+"'/></a><br/>\n\
<a href='product.jsp?id="+value['id']+"'><span class='black'>"+value['name']+"</span></a><br/>\n\
<span class='black'>By "+value['company']+"</span><br/><span class='red'>RS."+value['price']+"</span>\n\
<br/><br/><a href='#' class='remove' onclick='foo(this)' pid='"+value['id']+"'>REMOVE</a></div>");
}
else{
$productContainer.append("<div id='productBox' class='grid_3'>\n\
<a href='product.jsp?id="+value['id']+"'><img src='"+value["image"]+"'/></a><br/>\n\
<a href='product.jsp?id="+value['id']+"'><span class='black'>"+value['name']+"</span></a><br/>\n\
<span class='black'>By "+value['company']+"</span><br/><span class='red'>RS."+value['price']+"</span></div>");
}
}) ;
}
});
return false;
}
function foo(obj){
var pid = $(obj).attr("pid");
$(obj).bind("click", function(){
$.ajax({
type:"POST",
url:"removeFromWishlist",
data:"pid="+pid,
success:function(response){
console.log("sent ajax request");
}
});
});
}
,如果你把它的文件准备好功能https://api.jquery.com/ready/ –
内这将是很好是没有意义的结合jQuery的点击处理程序元素的'onclick'处理程序中。这就是为什么你必须点击两次,但第二clcik将绑定一个新的jQuery听众也 – charlietfl
@KishanKumar你不能把'富()'里面准备......它不会成为全球可用空间是发生的onclick – charlietfl