当前位置:首页 > 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);

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

// 添加新行
$('#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();
});

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

$('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();
      })
    );
  }
}

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

jquery动态表格

$('#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中实现动态样式可以通过多种方式实现,以下是一些常见且灵活的方法: 绑定内联样式 使用v-bind:style(或简写:style)直接绑定样式对象,对象中的属性可以是动态的。例如: <…

elementui动态

elementui动态

ElementUI 动态组件与数据绑定 ElementUI 支持动态渲染组件和数据绑定,常用于表格、表单等场景的动态生成。通过 v-for 和动态属性绑定实现组件灵活配置。 动态生成表格列 <…

vue实现表格导入

vue实现表格导入

Vue 实现表格导入的方法 使用 Element UI 的 Upload 组件 Element UI 提供了 el-upload 组件,可以方便地实现文件上传功能。结合 xlsx 库解析 Excel…

怎么制作css表格

怎么制作css表格

制作CSS表格的方法 使用HTML表格标签结合CSS样式 通过HTML的<table>、<tr>、<td>等标签创建表格结构,再使用CSS美化样式。例如: <…

vue实现表格透明

vue实现表格透明

实现表格透明的方法 在Vue中实现表格透明效果,可以通过CSS样式调整表格的背景透明度。以下是几种常见的方法: 设置表格背景透明度 通过CSS的background-color属性配合rgba()…

vue实现动态混入

vue实现动态混入

Vue 动态混入的实现方法 动态混入在 Vue 中可以通过编程方式将混入对象应用到组件实例,适合需要运行时决定混入逻辑的场景。 全局混入与局部混入 全局混入通过 Vue.mixin() 影响所有组件…