JQuery更新问题?

时间:2010-02-19 23:23:23

标签: jquery

我只能在不重新加载网页的情况下更新函数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");
            }
        });

    });
});

2 个答案:

答案 0 :(得分:0)

$(document).ready函数仅在页面加载完毕且dom准备就绪时调用。 getRatingText2()和getRatingAvg()只在该函数中调用,这就是为什么只在加载页面时调用它们。

也许应该在click事件中调用它们以及其他函数或getRating()? (getRating();和getRatingText();)

答案 1 :(得分:0)

您的“点击”商品是否动态生成?如果是,请使用
$('#ratelinks li a').live('click', funcion())