全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery插件jqGrid动态获取列和列字段的方法

本文实例讲述了jQuery插件jqGrid动态获取列和列字段的方法。分享给大家供大家参考,具体如下:

1、问题背景

jqGrid表格插件,利用自身方法获取表格的表头和表格字段;获取列名和列字段名显示在弹窗里,用复选框进行勾选

2、实现源码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>jqGrid动态获取列和列字段</title>
    <link rel="stylesheet" href="css/ui.jqgrid.css" rel="external nofollow" />
    <link rel="stylesheet" href="css/ui.jqgrid-bootstrap-ui.css" rel="external nofollow" />
    <link rel="stylesheet" href="css/bootstrap.css" rel="external nofollow" />
    <link rel="stylesheet" href="css/bootstrap-theme.css" rel="external nofollow" />
    <link rel="stylesheet" href="css/jquery-ui.css" rel="external nofollow" />
    <link rel="stylesheet" href="css/jquery-ui.theme.css" rel="external nofollow" />
    <script type="text/javascript" src="js/jquery-1.11.0.min.js" ></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/jquery.jqGrid.min.js" ></script>
    <script type="text/javascript" src="plugins/grid.setcolumns.js"></script>
    <style>
      th{
        border: 1px solid #ABABAB;
        line-height: 20px;
        vertical-align: middle;
      }
      td{
        line-height: 20px;
      }
    </style>
    <script>
      $(document).ready(function(){
        $("#jqTable").jqGrid({
          url:"data/student.json",
          height:380,
          datatype:"json",
          colNames:["序号","姓名","年龄","性别","QQ号","电话","地址"],
          colModel:[{
            name : 'id',
            index : 'id',
            label : '序号',
            width : 60,
            align:'center'
          },{
            name : 'name',
            index : 'name',
            label : '姓名',
            width : 120,
            align:'center'
          },{
            name : 'age',
            index : 'age',
            label : '年龄',
            width : 120,
            align:'center'
          },{
            name : 'sex',
            index : 'sex',
            label : '性别',
            width : 120,
            edittype : "select",
            formatter : 'select',
            editoptions : {
              value :'0:男;1:女;'
            },
            align:'center'
          },{
            name : 'qq',
            index : 'qq',
            label : 'QQ号',
            width : 120,
            align:'center'
          },{
            name : 'phone',
            index : 'phone',
            label : '电话',
            width : 120,
            align:'center'
          },{
            name : 'address',
            index : 'address',
            label : '地址',
            width : 200,
            align:'center'
          }],
          sortname : "id",
          sortorder : "desc",
          viewrecords : true,
          rownumbers:true,
          autowidth:true,
          jsonReader : {
            repeatitems : false
          }
        });
        var dialog = $("#dialog-column").dialog({
          autoOpen :false,
          modal : true,
          resizable : true,
          height: "auto",
          width: 400,
          align:'center',
          buttons: {
            "确定": function() {
              $(this).dialog( "close" );
            },
            "关闭": function() {
              $(this).dialog( "close" );
            }
          }
        });
        $("#column").button().on("click", function() {
          dialog.dialog("open");
          //获取列名
          var colNames=$("#jqTable").jqGrid('getGridParam','colNames');
          //获取列字段
          var colModel=$("#jqTable").jqGrid('getGridParam','colModel');
          var table = "";
          var newColumnName = [];
          var newColumnValue = [];
          for (var i=0;i<colNames.length;i++)
          {
            var columnHidden = colModel[i].hidden;
            var columnName = colModel[i].name;
            if(columnHidden==false && columnName != "rn")
            {
              newColumnName.push(colNames[i]);
              newColumnValue.push(columnName);
            }
            console.info(columnName);
          }
          for(var j=0;j<newColumnName.length;j++)
          {
            if(j%5==0)
            {
              table += "<tr>";
            }
            table += "<td><input type='checkbox' id='"+newColumnValue[j]+"' name='column' checked='checked'><label for='"+newColumnValue[j]+"'>"+newColumnName[j]+"</label></td>";
            if((j+1)%5==0)
            {
              table += "</tr>";
            }
          }
          $("#tableColumn").empty().append(table);
        });
      });
    </script>
  </head>
  <body>
    <div>
      <table id="jqTable" class="table"></table>
    </div>
    <div>
      <button id="column" type="button">显示</button>
    </div>
    <div id="dialog-column" title="设置列">
      <table id="tableColumn" style="width: 100%; height: 100px;">
      </table>
    </div>
  </body>
</html>

3、实现结果

(1)初始化

(2)单击按钮

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。


# jQuery  # 插件  # jqGrid  # 动态获取  #   # 列字段  # 基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果  # jQuery动态显示和隐藏datagrid中的某一列的方法  # jQuery实现表格行和列的动态添加与删除方法【测试可用】  # jQuery EasyUI中DataGird动态生成列的方法  # 基于JQuery的动态删除Table表格的行和列的代码  # jQuery实现列表内容的动态载入特效  # jQuery实现动态显示select下拉列表数据的方法  # jQuery实现动态加载select下拉列表项功能示例  # jQuery动态产生select option下拉列表  # jQuery简单实现向列表动态添加新元素的方法示例  # jQuery实现动态生成年月日级联下拉列表示例  # Jquery动态列功能完整实例  # 相关内容  # 感兴趣  # 给大家  # 更多关于  # 所述  # 程序设计  # 单击  # 勾选  # 复选框  # 操作技巧  # 字段名  # 选择器  # 讲述了  # plugins  # grid  # min  # border  # px  # setcolumns  # style 


相关文章: c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  已有域名能否直接搭建网站?  在线制作视频网站免费,都有哪些好的动漫网站?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何通过二级域名建站提升品牌影响力?  如何将凡科建站内容保存为本地文件?  教学网站制作软件,学习*后期制作的网站有哪些?  广州美橙建站如何快速搭建多端合一网站?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  制作农业网站的软件,比较好的农业网站推荐一下?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  制作网站的软件免费下载,免费制作app哪个平台好?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  孙琪峥织梦建站教程如何优化数据库安全?  建站DNS解析失败?如何正确配置域名服务器?  建站主机无法访问?如何排查域名与服务器问题  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何用PHP快速搭建CMS系统?  ,柠檬视频怎样兑换vip?  如何快速配置高效服务器建站软件?  免费视频制作网站,更新又快又好的免费电影网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何用西部建站助手快速创建专业网站?  制作表格网站有哪些,线上表格怎么弄?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  建站之星Pro快速搭建教程:模板选择与功能配置指南  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  测试制作网站有哪些,测试性取向的权威测试或者网站?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  宝塔面板创建网站无法访问?如何快速排查修复?  建站之星代理商如何保障技术支持与售后服务?  营销式网站制作方案,销售哪个网站招聘效果最好?  建站之星好吗?新手能否轻松上手建站?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  大连 网站制作,大连天途有线官网?  如何批量查询域名的建站时间记录?  如何通过云梦建站系统实现SEO快速优化?  建站主机核心功能解析:服务器选择与网站搭建流程指南  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站主机选哪家性价比最高?  宝塔建站无法访问?如何排查配置与端口问题?  如何破解联通资金短缺导致的基站建设难题?  如何用已有域名快速搭建网站?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  Swift中swift中的switch 语句 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。