我只能在不重新加载网页的情况下更新函数getRating();
和getRatingText();
。但在重新加载网页之前,其他函数getRatingText2();
和getRatingAvg();
不会更新。
如何在不重新加载网页的情况下更新所有功能?
这是JQuery脚本。
$(document).ready(function() {
if($("#rating-text").length) {
getRatingText();
getRatingText2();
getRatingAvg();
getRating();
}
function getRatingText(){
$.ajax({
type: "GET",
url: "update.php",
data: "do=getavgrate",
cache: false,
async: false,
success: function(result) {
// add rating text
$("#rating-text").text(result);
},
error: function(result) {
alert("some error occured, please try again later");
}
});
}
function getRatingText2(){
$.ajax({
type: "GET",
url: "update.php",
data: "do=getavgrate2",
cache: false,
async: false,
success: function(result) {
$("#rating-text2").text(result);
},
error: function(result) {
alert("some error occured, please try again later");
}
});
}
function getRatingAvg(){
$.ajax({
type: "GET",
url: "update.php",
data: "do=getavgrate3",
cache: false,
async: false,
success: function(result) {
$("#grade-avg").text(result);
},
error: function(result) {
alert("some error occured, please try again later");
}
});
}
function getRating(){
$.ajax({
type: "GET",
url: "update.php",
data: "do=getrate",
cache: false,
async: false,
success: function(result) {
$("#current-rating").css({ width: "" + result + "%" });
$("#rating-text").text(getRatingText());
},
error: function(result) {
alert("some error occured, please try again later");
}
});
}
// link handler
$('#ratelinks li a').click(function(){
$.ajax({
type: "GET",
url: "update.php",
data: "rating="+$(this).text()+"&do=rate",
cache: false,
async: false,
success: function(result) {
$("#ratelinks").remove();
getRating();
},
error: function(result) {
alert("some error occured, please try again later");
}
});
});
});
答案 0 :(得分:0)
$(document).ready函数仅在页面加载完毕且dom准备就绪时调用。 getRatingText2()和getRatingAvg()只在该函数中调用,这就是为什么只在加载页面时调用它们。
也许应该在click事件中调用它们以及其他函数或getRating()? (getRating();和getRatingText();)
答案 1 :(得分:0)
您的“点击”商品是否动态生成?如果是,请使用
$('#ratelinks li a').live('click', funcion())