0

我在 asp.net 中进行 jquery ajax 调用,我从文本框中的数据库中获取一些值,并在此基础上制作 jquery 进度条。它在文本框中获取值,但它第一次没有获取进度条的值,我必须重新加载页面以获得进度条的值。
下面是我的代码

 $(function () {
        GetValue();
        var l_count= parseInt($("#txtcount").val());

        $("#sliderlicense").progressbar({
            max: 100,
            value: l_count
        });           
    });

    function GetValue() {
        $.ajax({
            type: "POST",
            url: "MyPage.aspx/GetCount", //url to point your webmethod     
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (Result) {
                $("#txtcount").val(Result.d);
            },
            error: function () { alert('error'); }
        });
    }


 [System.Web.Services.WebMethod()]
        public static string GetCount()
        {
          //Get values from DB and return it
        }

我也尝试了 document.ready 但没有运气,我应该使用哪个 Jquery 事件来制作我的进度条。

4

2 回答 2

1

尝试这个:

async:false,添加到 ajax 调用

$(document).ready(function(){
        GetValue();
        var l_count= parseInt($("#txtcount").val());

        $("#sliderlicense").progressbar({
            max: 100,
            value: l_count
        });

    });
})
function GetValue() {
    $.ajax({
        type: "POST",
        url: "MyPage.aspx/GetCount", //url to point your webmethod     
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async:false,
        success: function (Result) {
            $("#txtcount").val(Result.d);
        },
        error: function () { alert('error'); }
    });
}
于 2013-08-26T07:55:43.643 回答
1

ajax 意味着Asynchronous,也就是说,意味着您需要等到您的第一个请求成功,然后再处理价值。

一些伪代码:

 $.ajax({
        type: "POST",
        url: "MyPage.aspx/GetCount", //url to point your webmethod     
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (Result) {
            $("#txtcount").val(Result.d);

            //HERE ASSIGN TO PROGRESS BAR 
            var l_count= parseInt($("#txtcount").val());

            $("#sliderlicense").progressbar({
             max: 100,
             value: l_count
            });
            // --------------------------
        },
        error: function () { alert('error'); }
    });
于 2013-08-26T07:55:55.407 回答