Jquery使用JQgrid组件处理json数据

让我来详细讲解一下“Jquery使用JQgrid组件处理json数据”的完整攻略。

1. 什么是JQgrid

JQgrid是一款基于Jquery的表格插件,它可以帮助我们快速、方便地构建数据表格。JQgrid不仅可以处理静态数据,还支持处理数据库中返回的json数据。

2. JQgrid如何使用json数据

2.1 引入必要的库文件

在使用JQgrid之前,我们需要引入jQuery和JQgrid相关的库文件。可以通过以下方式引入:

<!--JQuery (必须)-->
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<!--JQgrid-->
<script type="text/javascript" src="js/grid.base.js"></script>
<script type="text/javascript" src="js/grid.common.js"></script>
<script type="text/javascript" src="js/grid.formedit.js"></script>
<script type="text/javascript" src="js/grid.custom.js"></script>
<script type="text/javascript" src="js/grid.jqueryui.js"></script>

2.2 构建数据源

在使用JQgrid处理json数据之前,需要先定义json数据的数据源。构建方法如下:

var mydata = [
    {id: "1", name: "张三", age: "22", gender: "男"},
    {id: "2", name: "李四", age: "25", gender: "男"},
    {id: "3", name: "王五", age: "21", gender: "女"}
];

2.3 编写JQgrid的相关配置

构建表格需要编写JQgrid的配置信息。JQgrid的配置比较多,主要包括以下内容:

$("#jqGrid").jqGrid({
    // table id
    url: 'jsondata.php',
    datatype: "json",
    colModel: [
        {label: '序号', name: 'id', key: true, width: 75},
        {label: '姓名', name: 'name', width: 150},
        {label: '年龄', name: 'age', width: 150},
        {label: '性别', name: 'gender', width: 150}
    ],
    viewrecords: true,
    width: 780,
    height: 250,
    rowNum: 20,
    pager: "#jqGridPager",
    jsonReader: {
        root: "data",
        page: "page",
        total: "pages",
        records: "count",
        repeatitems: false,
        id: "0"
    }
});

其中,url指向数据源的接口地址,datatype表示数据类型,这里需要填写"json"colModel定义表格的列信息;viewrecords为true时显示总条数;widthheight分别设置表格的宽度和高度;rowNum表示显示的行数;pager指示表格的分页信息;jsonReader指定如何解析json数据。

2.4 与PHP后台交互

最后一步是与后台通过AJAX交互获取json数据。代码如下:

$.ajax({
    url: 'jsondata.php',
    dataType: 'json',
    success: function (data) {
        $("#jqGrid").jqGrid("clearGridData");
        $("#jqGrid").jqGrid("setGridParam", {data: data}).trigger("reloadGrid");
    }
});

其中,url指向json数据的接口地址,dataType为json,通过success获取返回的json数据,最终通过在JQgrid中设置数据的方式,将后台数据通过Jgrid显示在前端页面上。

3. 示例

以下是一个完整的示例,我们通过一个json文件url返回数据,将数据存储到数据源中:

$(document).ready(function(){
  var mydata = [
    {id: "1", name: "张三", age: "22", gender: "男"},
    {id: "2", name: "李四", age: "25", gender: "男"},
    {id: "3", name: "王五", age: "21", gender: "女"}
  ];

  $("#jqGrid").jqGrid({
    url: 'data.json',
    datatype: "json",
    colModel: [
      { label: '序号', name: 'id', key: true, width: 75 },
      { label: '姓名', name: 'name', width: 150 },
      { label: '年龄', name: 'age', width: 150 },
      { label: '性别', name: 'gender', width: 150 }
    ],
    viewrecords: true,
    width: 780,
    height: 250,
    rowNum: 20,
    pager: "#jqGridPager",
    jsonReader: {
      root: "data", 
      page: "page",
      total: "pages", 
      records: "count"
    }
  });

  $.ajax({
    url: 'data.json',
    dataType: 'json',
    success: function(data) {
      $("#jqGrid").jqGrid("clearGridData");
      $("#jqGrid").jqGrid("setGridParam", {data: data}).trigger("reloadGrid");
    } 
  });
});

另外,我们还可以通过另外一种方式读取json数据(这里假设我们的json文件存放于本地),示例如下:

$(document).ready(function(){
  var mydata = [
    {id: "1", name: "张三", age: "22", gender: "男"},
    {id: "2", name: "李四", age: "25", gender: "男"},
    {id: "3", name: "王五", age: "21", gender: "女"}
  ];

  $("#jqGrid").jqGrid({
    data: mydata,
    datatype: "local",
    colModel: [
      { label: '序号', name: 'id', key: true, width: 75 },
      { label: '姓名', name: 'name', width: 150 },
      { label: '年龄', name: 'age', width: 150 },
      { label: '性别', name: 'gender', width: 150 }
    ],
    viewrecords: true,
    width: 780,
    height: 250,
    rowNum: 20,
    pager: "#jqGridPager",
    jsonReader: {
      root: "data", 
      page: "page",
      total: "pages", 
      records: "count"
    }
  });
});

以上就是使用JQgrid处理json数据的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jquery使用JQgrid组件处理json数据 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 如何使用jQuery EasyUI Mobile为文件设计树状结构

    下面是如何使用jQuery EasyUI Mobile为文件设计树状结构的完整攻略。 引入jQuery EasyUI Mobile 首先,需要在页面中引入jQuery和jQuery EasyUI Mobile,具体步骤如下: <!– 引入jQuery库 –> <script src="https://cdn.bootcss.c…

    jquery 2023年5月12日
    00
  • jQWidgets jqxScheduler showLegend属性

    jQWidgets是一个基于jQuery的UI组件库,其中的jqxScheduler插件可以用于创建日程安排、预定等功能的日历视图控件。其中,showLegend属性用于控制是否在jqxScheduler控件中显示详细的时间图例信息。 showLegend属性的取值可以为布尔类型或者函数类型。下面是showLegend属性的详细讲解: showLegend属…

    jquery 2023年5月11日
    00
  • 解析Jquery的LigerUI如何实现文件上传

    下面是”解析Jquery的LigerUI如何实现文件上传”的完整攻略,其中包含两个代码示例: 1. LigerUI 文件上传组件 LigerUI 是一组基于jQuery的UI控件库,提供了很多方便开发的UI组件,包括表格、对话框、下拉框等等。其中,文件上传组件是非常实用的一个。 首先,为了使用LigerUI文件上传组件,需要引入LigerUI的前端框架和相关…

    jquery 2023年5月27日
    00
  • Json 生成与解析详解及实例代码

    Json 生成与解析详解及实例代码 什么是 JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。 它基于JavaScript语言的一个子集,以易于人们阅读和编写的文本格式来传输和存储数据。 JSON采用键值对(key-value)的方式来表示数据对象,同时支持数组和嵌套。 JSON具有结构简单、易于解析、轻…

    jquery 2023年5月28日
    00
  • jQWidgets jqxFileUpload browseTemplate属性

    jQWidgets jqxFileUpload browseTemplate属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包表格等。jqxFileUpload是jQWidgets的一个组件用于实现上传功能。browseTemplate是jqxFileUpload的属性,用于设置浏览文件的模板。本文将详细介绍browseT…

    jquery 2023年5月9日
    00
  • Jquery动态替换div内容及动态展示的方法

    Jquery动态替换div内容及动态展示的方法是前端开发中比较常用的技术之一。下面详细介绍一下该方法的实现过程及示例说明。 方法一:使用jQuery的html()方法 以下是使用jQuery的html()方法替换div内容的示例代码: //获取需要替换内容的div元素 var $div = $("#myDiv"); //获取新内容,例如从…

    jquery 2023年5月28日
    00
  • 如何在jQuery中双击一个div元素来切换背景颜色

    在jQuery中,我们可以使用dblclick()方法来双击一个div元素来切换背景颜色。以下是使用jQuery双击一个div元素来切换背景颜色的完整攻略: 步骤一:创建HTML结构 首先,需要创建一个包含div元素的HTML结构。以下是一个例子: <!DOCTYPE html> <html> <head> <tit…

    jquery 2023年5月9日
    00
  • 如何用jQuery删除DOM中的所有段落

    在jQuery中,可以使用remove()方法来删除DOM中的元素。以下是如何使用jQuery删除DOM中的所有段落的完整攻略: 步骤一:选择要删除的元素 首先,需要选择要删除的元素。可以使用选择器选择元素。以下是一个示例: // Select all paragraphs using jQuery var paragraphs = $("p&qu…

    jquery 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部