我在一个div上显示了一些动态数据,但直到我刷新该div的数据不刷新的页面。
我有一个<a>
标记用作添加到购物车。
我在onclick上调用了一个函数。
我想点击<a>
标签后刷新div。
但是如何做到这一点我不知道。
有什么想法??
<a>
onclick时调用的脚本代码:
function addProductById(pId,pMqty){
$.getJSON("addtocart?pid=" + pId + "&minqty="+ pMqty +"&rand=" + Math.floor((Math.random()*100)+1), function(json) {
alert(json.msg);
});
}
此处addtocart
为servlet
。
要在<a>
点击时刷新的div:
<div style="float: right;margin-top: 30px;margin-right: -19px;" id="cartcounter">
<%
int cart_item=0;
try
{
ShoppingCart cart = (ShoppingCart)session.getAttribute("shop");
cart_item = cart.getSize();
}
catch(Exception e)
{
System.out.println("No Item In Cart");
}
%>
<%= cart_item %>
</div>
<a>
:
<a href="#" onclick="addProductById(<%= id %>,<%= minqty %>)">
答案 0 :(得分:1)
试试这个。
function addProductById(pId,pMqty){
$.getJSON("addtocart?pid=" + pId + "&minqty="+ pMqty +"&rand=" + Math.floor((Math.random()*100)+1), function(json) {
$("#YourDivID").html("your html which you want to show !!!");
//Or you can use jquery load to refresh your div dynamically
$("#YourDivID").load("/HelloWorld/GetAwesomePartialView");
alert(json.msg);
});
}
希望这会对你有帮助..
答案 1 :(得分:1)
将它放在脚本标记之外:
<% ShoppingCart cartd = (ShoppingCart)session.getAttribute("shop");%>
然后在你的脚本标签的功能
中<script type="text/javascript">
function(){
document.getElementById("cartcounter").innerHTML = "";
var cartSize = '<%=cartd.getSize() %>';
document.getElementById('cartcounter').innerHTML = cartSize;
}
</script>
答案 2 :(得分:1)
您可以使用.load(url)或.html()方法刷新div。
$('#cartcounter').load("addtocart?pid=" + pId + "&minqty="+ pMqty +"&rand=" + Math.floor((Math.random()*100)+1));
使用response.getWriter().write(cart_item)
并在addtocart servlet中返回null。
你的div内容将会更新。