如何在jqgrid中设置下一页选项

时间:2013-11-04 14:55:21

标签: javascript jquery json jqgrid

我从webservice收到的Json数据是

{"meta": {"limit": 20, "next": "/api/un_bn_in/?offset=20&limit=20&format=json", "offset": 0, "previous": null, "total_count": 439603}, "objects": [{"id": 1, "phrase": "this is bengali test", "resource_uri": "/api/un_bn_in/1/", "verified_by_admin": true, "verified_by_usr": true}] }

要转到下一页,网址是“/ api / un_bn_in /?offset = 20& limit = 20& format = json”

我的jsonreader功能如下: -

jsonReader{
    id : "id",
    repeatitems: false,
    root: function (obj) { return obj.objects; },
    records: function (obj) { 
          return 20; },
    total: function (obj) { return obj.meta.total_count; 
}

这里真正的问题是当我按下jqgrid生成的下一页按钮url时 ?/ API / un_bn_in /格式= JSON&安培; _search =假安培; ND = 1383576507420&安培;行数= 20安培;页= 1&安培; SIDX = ID&安培; SORD = ASC

但我想要“/ api / un_bn_in /?offset = 20& limit = 20& format = json”这个网址要生成,以便我可以获得下一页

欢迎任何有关此问题的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用jqGrid的prmNames选项重命名标准jqGrid选项或删除其他选项。例如选项

prmNames: {nd: null, search: null, sort: null, order: null, rows: "limit" }

将删除一些您不需要的参数,并将rows选项重命名为limit。您将获得/api/un_bn_in/?format=json&limit=20&page=2之类的网址。最后一步是将limitpage选项替换为/api/un_bn_in/?format=json0&limit=20&offset=20。在这种情况下,您可以另外使用serializeGridData。结果选项可以是以下

url: "/api/un_bn_in/?format=json",
prmNames: {nd: null, search: null, sort: null, order: null, rows: "limit" },
serializeGridData: (postData) {
    return {
        limit: postData.limit,
        offset: (parseInt(postData.page, 10) - 1) * postData.limit
    };
}