当前位置:首页 > jquery

jquery动态表格

2026-02-03 12:05:01jquery

jQuery动态表格实现方法

动态创建表格 使用jQuery的DOM操作方法可以动态生成表格结构。例如创建一个包含表头和数据的表格:

// 创建表格结构
var table = $('<table>').addClass('dynamic-table');
var thead = $('<thead>').appendTo(table);
var tbody = $('<tbody>').appendTo(table);

// 添加表头
var headerRow = $('<tr>').appendTo(thead);
['ID', 'Name', 'Email'].forEach(function(col) {
  headerRow.append($('<th>').text(col));
});

// 添加数据行
var data = [
  {id: 1, name: 'John', email: 'john@example.com'},
  {id: 2, name: 'Jane', email: 'jane@example.com'}
];

data.forEach(function(item) {
  var row = $('<tr>').appendTo(tbody);
  row.append($('<td>').text(item.id));
  row.append($('<td>').text(item.name));
  row.append($('<td>').text(item.email));
});

// 将表格插入DOM
$('#table-container').append(table);

动态添加/删除行 实现表格行的动态增删功能:

jquery动态表格

// 添加新行
$('#add-row').click(function() {
  var newId = $('tbody tr').length + 1;
  var newRow = $('<tr>').append(
    $('<td>').text(newId),
    $('<td>').text('New User'),
    $('<td>').text('new@example.com'),
    $('<td>').append(
      $('<button>').addClass('delete-row').text('Delete')
    )
  );
  $('tbody').append(newRow);
});

// 删除行(事件委托)
$(document).on('click', '.delete-row', function() {
  $(this).closest('tr').remove();
});

表格排序功能 实现点击表头排序的功能:

jquery动态表格

$('th').click(function() {
  var column = $(this).index();
  var rows = $('tbody tr').get();

  rows.sort(function(a, b) {
    var valA = $(a).find('td').eq(column).text();
    var valB = $(b).find('td').eq(column).text();
    return valA.localeCompare(valB);
  });

  $.each(rows, function(index, row) {
    $('tbody').append(row);
  });
});

表格分页实现 为动态表格添加分页功能:

var currentPage = 1;
var rowsPerPage = 5;

function updatePagination() {
  var totalRows = $('tbody tr').length;
  var totalPages = Math.ceil(totalRows / rowsPerPage);

  $('tbody tr').hide();
  $('tbody tr').slice((currentPage-1)*rowsPerPage, currentPage*rowsPerPage).show();

  $('#pagination').empty();
  for(var i=1; i<=totalPages; i++) {
    $('#pagination').append(
      $('<button>').text(i).click(function() {
        currentPage = parseInt($(this).text());
        updatePagination();
      })
    );
  }
}

表格搜索过滤 添加搜索框实现表格内容过滤:

$('#search-input').on('keyup', function() {
  var value = $(this).val().toLowerCase();
  $('tbody tr').filter(function() {
    $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
  });
});

注意事项

  • 使用事件委托处理动态添加的元素事件
  • 大型数据集考虑使用虚拟滚动提高性能
  • 复杂操作可结合DataTables等jQuery插件
  • 移动端需考虑响应式设计

这些方法提供了jQuery动态表格的基本功能实现,可根据实际需求组合使用或扩展功能。

标签: 表格动态
分享给朋友:

相关文章

使用vue实现表格

使用vue实现表格

使用 Vue 实现表格 在 Vue 中实现表格可以通过多种方式完成,以下是一个基于 Vue 3 的示例,展示如何动态渲染表格数据并支持基础功能(如排序、筛选)。 基础表格实现 通过 v-for 循…

vue实现动态显示页面

vue实现动态显示页面

动态显示页面的实现方法 在Vue中实现动态显示页面通常涉及数据绑定、条件渲染、列表渲染以及动态组件等技术。以下是几种常见的实现方式: 数据驱动视图 Vue的核心思想是数据驱动视图,通过修改数据自动更…

vue 实现动态样式

vue 实现动态样式

动态样式绑定方法 在Vue中实现动态样式主要通过v-bind:class和v-bind:style指令完成,以下是具体实现方式: 类名绑定 <div :class="{ active: is…

vue表格组件实现

vue表格组件实现

Vue表格组件实现 基础表格实现 使用el-table组件实现基础表格功能。安装Element UI后,引入el-table和el-table-column组件。 <template>…

vue实现表格追加

vue实现表格追加

实现表格数据追加的方法 在Vue中实现表格数据追加可以通过多种方式完成,主要涉及数据绑定和数组操作。以下是几种常见的方法: 数据绑定与v-for指令 通过v-for指令渲染表格数据,利用数组的…

vue 实现跨行表格

vue 实现跨行表格

实现跨行表格的方法 在Vue中实现跨行表格可以通过多种方式完成,以下是几种常见的方法: 使用HTML原生表格 HTML原生表格支持rowspan属性,可以直接在Vue模板中使用: <ta…