当我从我的代码中删除警报时,jQuery代码不起作用?

时间:2014-04-17 19:53:51

标签: javascript jquery alert jquery-load

我使用jQuery加载方法加载数据。它工作正常。现在我想用2对它进行多次重复。例如,如果我有1000,我希望将它与2重叠,这样它就会变成2000.只有当我在代码中包含警报时才能正常工作。如果我删除警报,则返回1000。

这是我的代码

$('#<%= qnty.ClientID %>').click(function () {


            var desID = $('#<%= designID.ClientID %>').val();
            var qnty = $('#<%= qnty.ClientID %>').val();

            $("#amountHave").load("AmountRetrieve.aspx?desID=" + desID + "&qnty=" + qnty + " #amountHaveRet");
                if ($("#reverseDes").is(":checked") || $("#plain").is(":checked")) {
                    var slash = ".00/-";
                    var getAmnt = $("#amountHave").text();
                    getAmnt = getAmnt.replace(slash, '');

                    var finamAmount = parseInt(getAmnt, 10) + parseInt(getAmnt, 10);                    
                    //IF I USE ALERT HERE IT WORKS
                    //alert(finamAmount)
                    $("#amountHave").text(finamAmount + slash);

                }                   
                else {
                    $("#blackholder").text("-------- Rs. " + $("#<%= qnty.ClientID %>").val());
                    $("#matchholder").text("-------- Rs. " + $("#<%= qnty.ClientID %>").val());

                }


        });

任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:3)

你忘记了回电:

$("#amountHave").load("AmountRetrieve.aspx?desID=" + desID + "&qnty=" + qnty + " #amountHaveRet", function(){
    if ($("#reverseDes").is(":checked") || $("#plain").is(":checked")) {
        var slash = ".00/-";
        var getAmnt = $("#amountHave").text();
        getAmnt = getAmnt.replace(slash, '');
        var finamAmount = parseInt(getAmnt, 10) + parseInt(getAmnt, 10);
        $("#amountHave").text(finamAmount + slash);
    }                   
    else {
        $("#blackholder").text("-------- Rs. " + $("#<%= qnty.ClientID %>").val());
        $("#matchholder").text("-------- Rs. " + $("#<%= qnty.ClientID %>").val());
    }
});

答案 1 :(得分:2)

由于您使用的是ajax(异步),因此必须等到服务器响应,因此您必须将代码放入回调函数中,该函数将在服务器响应时调用。

未设置文本,因为代码已在服务器有时间响应之前执行,显示警报的额外秒数是购买服务器足够的时间来响应。

 $("#amountHave").load("AmountRetrieve.aspx?desID=" + desID + "&qnty=" + qnty + " #amountHaveRet", function () {
     if ($("#reverseDes").is(":checked") || $("#plain").is(":checked")) {
         var slash = ".00/-";
         var getAmnt = $("#amountHave").text();
         getAmnt = getAmnt.replace(slash, '');

         var finamAmount = parseInt(getAmnt, 10) + parseInt(getAmnt, 10);
         //IF I USE ALERT HERE IT WORKS
         //alert(finamAmount)
         $("#amountHave").text(finamAmount + slash);

     } else {
         $("#blackholder").text("-------- Rs. " + $("#<%= qnty.ClientID %>").val());
         $("#matchholder").text("-------- Rs. " + $("#<%= qnty.ClientID %>").val());

     }
 });