2010-04-10 213 views
2

我有一種情況,我需要根據用戶選擇的某些搜索條件更新jqgrid。我可以獲取數據進行更新,但是我希望在獲取新數據時顯示加載消息。有人可以讓我知道如何得到這個工作嗎?jqGrid更新表/默認更新時默認「加載」消息

當前的代碼如下

 

var ob_gridContents = $.ajax({ 
url : '/DisplayObAnalysisResults.action?getCustomAnalysisResults', 
data : "portfolioCategory="+ $('#portfolioCategory').val() 
+"&subPortfolioCategory="+ $('#subPortfolioCategory').val() 
+ "&subportfolio=" + $('#subportfolio').val(), 
async : false 
}).responseText; 
var ob_Grid = jQuery('#OBGrid')[0]; 
var ob_GridJsonContents = eval('(' + ob_gridContents + ')'); 
$('#ob_Grid').trigger("reloadGrid"); 
ob_Grid.addJSONData(ob_GridJsonContents); 
ob_Grid = null; 
ob_GridJsonContents = null; 
} 
 

回答

2

如果我正確理解你願意,我可以推薦你使用jQuery blockUI插件(http://malsup.com/jquery/block/)。那麼你就需要更多的使用「異步:假」 $就功能的參數,並完成類似下面:

var WaitMsg = function() { 
    jQuery('#main').block({ message: '<h1>Die Daten werden vom Server geladen...</h1>' }); 
}; 
var StopWaiting = function() { 
    jQuery('#main').unblock(); 
}; 

WaitMsg(); 
$.ajax({url : '/DisplayObAnalysisResults.action?getCustomAnalysisResults', 
     data: jQuery.param({portfolioCategory: $('#portfolioCategory').val(), 
          subPortfolioCategory: $('#subPortfolioCategory').val(), 
          subportfolio: $('#subportfolio').val()}), 
     complete: function (data, status) { 
      if (status === "success" || status === "notmodified") { 
       var ob_GridJsonContents = jQuery.parseJSON(data.responseText); 
      ... 
      } 
      StopWaiting(); 
     }, 
     error: function (xhr, st, err) { 
      // display error information 
      StopWaiting(); 
     } 
}); 

我建議你不喜歡

的方式建立的參數「portfolioCategory =」 + $( '#portfolioCategory')。VAL() + 「& subPortfolioCategory = 」+ $( '#subPortfolioCategory')。VAL() +「 & subportfolio =」 + $( '#subportfolio') .val()

因爲你可以接收ve編碼問題,如果返回的數據是.val()有一些特殊字符。你可以在這種情況下使用JavaScript函數encodeURIComponent方法(如encodeURIComponent方法($( '#portfolioCategory')。VAL())) 或jQuery.param功能,如果你構建像繩子P1 = VAL1 & P2 = val2 & ... pN = valN

問候
奧列格

+0

感謝奧列格,我現在使用的方法是,我重新設置網址,並使用觸發方法重裝。我將根據您的建議添加編碼調用。 – JVXR 2010-04-16 17:27:11