首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在jQgrid标头中添加一个复选框

在 jqGrid 标头中添加一个复选框,您可以使用 beforeRequest 事件和一些自定义的 HTML 和 CSS 来实现

  1. 首先,确保您已经加载了 jQuery 和 jqGrid 的相关库文件。
代码语言:javascript
复制
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.7.0/jquery.jqGrid.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.7.0/ui.jqgrid.min.css">
  1. 创建一个空的 jqGrid。
代码语言:javascript
复制
<table id="grid"></table>
<div id="pager"></div>
  1. 初始化 jqGrid 并设置相关选项。
代码语言:javascript
复制
$(document).ready(function () {
  $("#grid").jqGrid({
    url: 'server.php?q=1', // 更改为您的数据源 URL
    editurl: "server.php",
    datatype: "json",
    mtype: "GET",
    colNames: ['Select', 'ID', 'Name'],
    colModel: [
      { name: 'sel', width: 40, sortable: false, resizable: false, formatter: 'checkbox' },
      { name: 'id', width: 60, sortable: true },
      { name: 'name', width: 150, sortable: true }
    ],
    rowNum: 10,
    rowList: [10, 20, 30],
    pager: '#pager',
    sortname: 'id',
    viewrecords: true,
    sortorder: 'desc',
    caption: "jqGrid with Header Checkbox",
    beforeRequest: function () {
      var headerCheckbox = $("#cb_selectAll");
      if (headerCheckbox.length === 0) {
        var thd = $("#grid").parent().find(">thead>tr.jqgfirstrow>th");
        thd.eq(0).prepend('<input type="checkbox" id="cb_selectAll" />');
        headerCheckbox = $("#cb_selectAll");

        headerCheckbox.click(function () {
          var isChecked = $(this).is(':checked');
          $("#grid").find("input[type='checkbox']").each(function () {
            $(this).prop("checked", isChecked);
          });
        });
      }
    }
  });
});

在这个例子中,我们首先创建了一个空的 jqGrid,然后在 beforeRequest 事件中向表头的第一列添加了一个复选框。我们还为这个复选框添加了一个点击事件,这样当用户点击表头的复选框时,所有的行都会被选中或取消选中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券