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日

相关文章

  • jQWidgets jqxTreeGrid updating()方法

    以下是关于 jQWidgets jqxTreeGrid 组件中 updating() 方法的详细攻略。 jQWidgets jqxTreeGrid updating() 方法 jQWidgets jqxTreeGrid 的 updating() 方法用于在更新行数据之前执行操作。您可以使用此方法来验证数据、执行其他操作或取消更新操作。 语法 $(‘#tree…

    jquery 2023年5月12日
    00
  • jQWidgets jqxKnob disabled属性

    jQWidgets jqxKnob disabled属性攻略 jQWidgets 是一个基于 jQuery 的 UI 组件库,提供了丰富的 UI 组件和工具,可于创建代化 Web 应用程序。 jqxKnob旋钮,用于可视化调整数值。攻略将详细介绍 jqxKn 的 disabled 属性,该属性用于禁用或启用 jqxKnob 组件。 disabled属性 jq…

    jquery 2023年5月10日
    00
  • jQuery Mobile面板open事件

    jQuery Mobile是一款前端UI框架,用于构建移动端应用程序,面板是jQuery Mobile中的一个核心组件,它常用于构建应用程序中的侧面导航栏。当面板打开时,我们可以捕获面板的open事件来执行一些自定义的操作。本篇文章将详细讲解如何使用jQuery Mobile面板open事件的整个过程。 一、绑定面板open事件 要在jQuery Mobil…

    jquery 2023年5月12日
    00
  • jQWidgets jqxSlider改变事件

    以下是关于 jQWidgets jqxSlider 改变事件的详细攻略。 jQWidgets jqxSlider 改变事件 jQWidgets jqxSlider 组件的改变事件用在滑块发生变化时触发相应的操作。 方法 // 绑定改变事件 $(‘#slider’).on(‘change’, function(event) { 处理改变事件 }); // 解绑…

    jquery 2023年5月12日
    00
  • jquery选择器原理介绍($()使用方法)

    标题:jQuery选择器原理介绍与使用方法 什么是jQuery选择器? jQuery选择器是用于在文档中选取HTML元素的一种方法。类似于CSS选择器,jQuery选择器可以根据元素的标签名、类名、id、属性等来选取元素。 由于jQuery选择器简洁、灵活、功能强大,因此它越来越成为前端开发中不可或缺的工具。 jQuery选择器的使用方法 在jQuery中,…

    jquery 2023年5月27日
    00
  • 基于jQuery实现最基本的淡入淡出效果实例

    针对“基于jQuery实现最基本的淡入淡出效果实例”的完整攻略,我分以下几个部分进行讲解: 1. 确认jQuery库的引入 首先需要确认在 HTML 页面的 head 中是否引入了 jQuery 库,如果没有引入的话可以通过以下代码进行引入: <script src="https://cdn.bootcss.com/jquery/3.4.1/…

    jquery 2023年5月28日
    00
  • Jquery $when done then的用法详解

    Jquery $when done then的用法详解 简介 在使用jQuery异步编程时,我们可能会遇到多个异步操作需要协同完成的场景。这时,我们可以使用Jquery的$.when()方法来解决问题。$.when()方法可以同时处理多个异步操作,待多个异步操作全部完成后执行回调函数。 语法 $.when(deferreds).done(callback) …

    jquery 2023年5月28日
    00
  • jQWidgets jqxGrid hidecolumn()方法

    jQWidgets jqxGrid hidecolumn() 方法详解 jQWidgets jqxGrid 是一种表格控件,用于在 Web 应用程序中创建表格。hidecolumn() 方法是 jqxGrid 控件的一个方法,用于隐藏表格中的列。本文将详细讲解 hidecolumn() 方法的使用方法,并提供两个示例。 方法 hidecolumn() 方法用…

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