当前位置:首页 > 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 实现简单表格的方法 使用原生 HTML 表格 在 Vue 模板中可以直接使用 HTML 原生表格标签,通过 v-for 动态渲染数据: <template> <tabl…

vue实现动态隐藏

vue实现动态隐藏

动态隐藏的实现方法 在Vue中实现动态隐藏可以通过多种方式,常见的有条件渲染、动态绑定样式或类名。以下是几种具体实现方法: 使用v-if或v-show指令 <template> &…

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

网页表格制作css代码

网页表格制作css代码

基础表格样式 使用CSS为HTML表格添加基础样式,如边框、间距和背景色: table { width: 100%; border-collapse: collapse; margin:…

vue 实现表格单选

vue 实现表格单选

实现表格单选的基本思路 在Vue中实现表格单选功能,通常需要结合表格组件(如el-table)和数据绑定。核心逻辑是通过点击事件更新当前选中行的唯一标识(如id),并通过:class或:style绑定…

vue实现表格追加

vue实现表格追加

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