jqgrid php搜索,用自定义的form表单对jqgrid数据进行检索查询

但是其提供的检索框都是从表格grid弹出的,如下面两个图。

singe search:

0a05f62cb507360504052d2e9658eaa9.png

advanced search:

1f38bc21399da1d37ec14668109b9808.png

但是如果我们想要用传统form表单来对jqgrid表格中的数据做检索,像这样(form和jqgrid两个是随意画拼在一起,用来说明想达到的效果):

7fdfcac1dedd42347a3860e9451bb393.png

应该怎么做呢?方法如下:

首先,form表单和jqgrid当然要写好,此处不再赘述。

其次,用js为表单的查询按钮添加响应函数,取form输入值,修改获取数据参数,并用新的参数reload grid,如下:$("#searchForm").submit(function(){

var client = $("#client").val();

var amount = $("#amount").val();

var tax = $("#tax").val();

$("#list").jqGrid("setGridParam",

{url:"${data?client="+ client +

"&amount="+amount+

"&tax="+tax, page:1, datatype:"json"}).trigger("reloadGrid");

});

服务器后台data路径完成获取参数后的查询数据库数据并转为json格式即可。

注意,如果表单是拿form而非div写的,当完成查询后,form会自动提交使得整个页面刷新而非只修改jqgrid中的数据,导致查询无效,因此要在form标签中加入οnsubmit="return false;"避免form表单的自动提交。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要设置自定义返回数据格式,可以使用 jqGrid 的 `jsonReader` 属性。这个属性可以让你指定 jqGrid 所期望的 JSON 数据格式,从而让它正确地解析服务器返回的数据。 下面是一个示例: ```javascript $("#myGrid").jqGrid({ url: "myData.json", datatype: "json", jsonReader: { root: "rows", page: "page", total: "total", records: "records", repeatitems: false, id: "id" }, colNames: ["ID", "Name", "Email"], colModel: [ { name: "id", index: "id", width: 50 }, { name: "name", index: "name", width: 150 }, { name: "email", index: "email", width: 200 } ], rowNum: 10, rowList: [10, 20, 30], pager: "#myPager", sortname: "id", viewrecords: true, sortorder: "asc", caption: "My Grid" }); ``` 在上面的代码中,我们定义了一个 `jsonReader` 对象,它指定了 jqGrid 所期望的 JSON 数据格式。其中,`root` 属性指定了返回数据的数组名称,`page` 属性指定了当前页码,`total` 属性指定了总页数,`records` 属性指定了总记录数,`repeatitems` 属性指定了是否允许重复的属性名,`id` 属性指定了行的唯一标识符。 在服务器返回数据时,需要按照上面的格式组织数据,例如: ```json { "rows": [ { "id": 1, "name": "John Doe", "email": "john.doe@example.com" }, { "id": 2, "name": "Jane Smith", "email": "jane.smith@example.com" } ], "page": 1, "total": 1, "records": 2 } ``` 这样,当 jqGrid 解析返回数据时,就会按照我们指定的格式进行解析,从而正确地显示数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值