jqGrid onSortCol 事件传递参数 - 优化搜索引擎收录
在 jqGrid 的 onSortCol 事件中,可以使用 postData 属性来传递参数。postData 属性是一个包含所有发送到服务器的额外参数的对象。
以下是一个示例,展示了如何在 onSortCol 事件中传递参数:
$("#grid").jqGrid({
url: "your-data-url",
datatype: "json",
colModel: [
// 列模型配置
],
sortname: "columnName",
sortorder: "asc",
postData: {
customParam: 'customValue'
},
onSortCol: function(index, columnIndex, sortOrder) {
var postData = $("#grid").jqGrid("getGridParam", "postData");
postData.customParam = 'newValue';
return 'stop';
},
// 其他配置
});
在上面的示例中,我们定义了一个名为 customParam 的自定义参数,并将其初始值设置为 'customValue'。在 onSortCol 事件中,我们可以通过 postData 对象获取和修改该参数的值。在示例中,我们将 customParam 的值更改为 'newValue'。然后,我们使用 return 'stop' 来阻止 jqGrid 执行默认的排序操作。
请注意,如果你使用的是 loadonce: true,则在 onSortCol 事件中修改 postData 对象的值不会生效,因为它只会在第一次加载数据时发送到服务器。如果你需要在 loadonce: true 的情况下修改参数的值,可以使用 setGridParam 方法来更新 postData 对象,然后再次调用 trigger 方法来重新加载数据。以下是一个示例:
onSortCol: function(index, columnIndex, sortOrder) {
var postData = $("#grid").jqGrid("getGridParam", "postData");
postData.customParam = 'newValue';
$("#grid").jqGrid("setGridParam", { postData: postData });
$("#grid").trigger("reloadGrid");
return 'stop';
},
在这个示例中,我们使用 setGridParam 方法更新 postData 对象,并使用 trigger 方法重新加载数据。然后,我们返回 'stop' 来阻止默认的排序操作。
原文地址: https://www.cveoy.top/t/topic/piri 著作权归作者所有。请勿转载和采集!