2013-11-04 50 views
0

我有一個頁面包含一個鏈接,用於創建ajax調用來填充對話框。當我第一次運行代碼時,它運行正常,當我第二次運行它時,沒有任何東西被填充。我在將用作ajax調用參數的數字放入一個變量之後立即添加一個brekpoint,並且使用調試器語句,它每次都運行正確。代碼只使用調試器語句正確填充字段

<script src="Scripts/MyAuditsLoad.js" type="text/javascript"></script> 
<script src="Scripts/json2.js" type="text/javascript"></script> 
<script src="Scripts/jquery.blockUI.js" type="text/javascript"></script> 
<script src="Scripts/jquery-ui-1.10.3.custom.js" type="text/javascript"></script> 


<script type="text/javascript"> 
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI); 

$(document).ready(function() { 

      $("a.index").on("click", function (e) { 

       e.preventDefault(); 

       // debugger; 
       UserIndexNumber = $(e.target).text(); 
       debugger; 
       editAuditDialogOpen(); 


      }); 

     } 







//**********End Add Manual Audit Dialog ************* 
function editAuditDialogOpen() { 
    $("#EditAuditDialog").load("EditAuditDialog.aspx").dialog({ 
     autoOpen: false, 
     title: "Edit Audit Result", 
     modal: true, 
     draggable: false, 
     resizable: false, 
     width: 850, 
     height: 700, 
     show: { effect: 'blind', 
      duration: 100 
     }, 
     buttons: { 
      'Update': function() { 
       //$("#EditAuditDialogForm").trigger("reset"); 
       $(this).dialog('destroy').remove(); 
       $('#form12').append('<div id="EditAuditDialog"></div>'); 
       //$(this).dialog("close"); 
      }, 
      'Cancel': function() { 
       //$("#EditAuditDialogForm").trigger("reset"); 
       $(this).dialog("close"); 
      } 
     } 
    }); 

    $("#EditIndexNumber").val(UserIndexNumber); 
    $("#EditAuditDialog").dialog("open"); 
    //*********Fill Claim Fields************ 
    //debugger; 

     var param = {}; 
     param.IndexNumber = parseInt(UserIndexNumber); 

     //debugger; 
     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      data: JSON.stringify(param), 
      url: "QAWebService.asmx/GetEditAuditDetails", 
      dataType: "json", 
      success: ajaxSucceessAuditDetails 
     }); 

     function ajaxSucceessAuditDetails(data) { 



      $('#EditAuditAuditProgram').change(); 
      $('#EditAuditAuditProgram').val(data.d.Details.AuditProgramID); 
      var editFirstChange = 0; 
      var editCount = 0; 
      $('#EditAuditAuditProgram').on("change",function() { 
      //*********Change Claim Type Fields************ 
       ClaimTypeTransactionTypeID = data.d.Details.ClaimTypeTransTypeID; 
       AuditTypeID = data.d.Details.AuditTypeID; 
       TeamID = data.d.Details.TeamID; 
       AuditProgramID = data.d.Details.AuditProgramID; 

       var param = {}; 
       param.AuditProgramID = data.d.Details.AuditProgramID; 

       var program = AuditProgramID; 
       var referenceNumberType; 








        $('#EditAuditTeam').val(TeamID); 


       } 

        $('#EditAuditType').val(AuditTypeID); 
       } 


       //    //     //*********Populate Claim Type/Transaction Type Dropdown and Change Label************ 





      }); 

      $("#EditAuditAuditProgram").val(data.d.Details.AuditProgramID); 




      $("#EditIndexNumber").append(data.d.Details.IndexNumber); 
      $("#EditOpNumber").val(data.d.Details.OperatorID); 
      $("#EditBilledAmount").val(data.d.Details.AmountBilled); 
      $("#EditTotalPaid").val(data.d.Details.TotalPaid); 
      $("#EditCorrectPayment").val(data.d.Details.CorrectPayment); 
      $("#EditAuditNotes").val(data.d.Details.AuditNote); 
      $("#EditReferenceNumber").append(data.d.Details.ReferenceNumber); 
      $("#EditOriginalAuditor").append(data.d.Details.OriginalAuditorName); 
      $("#EditAuditDate").append(data.d.Details.OriginalAuditDate); 
      Attributes = data.d.Details.AuditAttributes; 
      var param = {}; 
      param.auditProgramID = data.d.Details.AuditProgramID; 
      param.ClaimTypeTransTypeId = data.d.Details.ClaimTypeTransactionTypeID; 




     } 
     //*********End Claim Fields************ 

}; 

}); var UserIndexNumber;

+1

請將您的代碼縮小到您遇到問題的相關部分。期望任何人都能經歷太多的事情。 – Archer

+0

對不起,上次我發佈了,我收到了抱怨,我沒有把足夠的;只是想徹底。我縮小了範圍 –

回答

0

.load()進行AJAX調用,所以它是Async。您需要在回調函數中創建對話框。

$("#AddManualAuditDialog").load("AddManualAuditDialog.aspx", function() { 
    $(this).dialog({ ... }) 
})