在jQuery jqGrid中对事件进行排序

时间:2013-12-12 11:21:14

标签: javascript jquery jqgrid

我正在研究jQuery的jqGrid,而我在jqGrid中没有使用分页。我的代码获取超过1000行数据,所有数据显示在jqGrid中,没有分页,并使用loadonce: true属性。现在我的要求是,当用户对任何列进行排序时,排序数据需要3-5秒,因此我想在此时显示加载图像。我写了

beforeRequest: function () { jQuery(".imgLoading").show(0);}, 
gridComplete: function () {jQuery(".imgLoading").hide(0);}

这两个事件,当数据随服务器一起提供并与服务器一起操作时,它可以正常工作。

但我想在客户端使用loadonce: true进行排序,并希望显示加载图像,但我不知道我将在哪个事件上写下图像显示隐藏代码。

请告诉我jqGrid的BeforeSortEventAfterSortEvent的名称。

我查看了此网址:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events但未找到正确的活动。

请帮帮我.....

1 个答案:

答案 0 :(得分:0)

尝试:

onSortCol: function(index, iCol, sortorder) {
    jQuery(".imgLoading").show(0);
},
gridComplete: function() { 
    jQuery(".imgLoading").hide(0);
}

修改

由于您说alert()已关闭,我认为您的问题与您展示/隐藏这些.imgLoading元素的方式有关。

尝试:

onSortCol: function(index, iCol, sortorder) {
    alert("I'm about to SHOW the loading message");
    $(".imgLoading").show();
},
gridComplete: function() { 
    alert("I'm about to HIDE the loading message");        
    $(".imgLoading").hide();
}

请确保这两个alert()已关闭,如果确实如此,那么您尝试显示/隐藏的.imgLoading个元素仍会显示某些内容。