根据单击的链接更改表内容

dvtswwa3  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(302)

我有两个html表格。我试图根据第一个表中按下的链接来更改第二个表的内容。
下面是填充第一个表的代码:

$.each(tableResults, function () {
  $('#table1 tbody:last-child').append('<td>' + this + '</td>'); 
});

下面是填充第二个表的代码:

$(document).ready(function () {
  var tableName = 'databaseTable1';
  $.ajax({
    url: 'http://localhost/api/Dynamic?table=' + tableName, 
    dataType: 'Json',
    success: function (tableResults) {
      $.each(tableResults, function (index, value) {
        if ($('#table2 th:last-child').length === 0) {
          $('#table2 thead').append('<th>' + value + '</th>');
        } else {
          $('#table2 th:last-child').after('<th>' + value + '</th>');
        }
      });
    }
  });
});

如您所见,表是动态填充的。我需要知道如何将第一个表中的每个值转换成一个链接,从而改变变量 tableName 输入选定的值。
然后页面应该刷新并显示所选表中的数据。如果有帮助的话,我的程序 F# 后端。
还有一个小问题,有人知道我该怎么做吗 tableNames 默认值为中的第一个值 table1 .
任何帮助都将不胜感激。

lf5gs5x2

lf5gs5x21#

你可以储存 tableName 触发器元素的属性中的 a ). 然后,当用户点击这个触发器时,得到 tableName 从属性中使用 .attr() .
我不知道你的React,所以在我的例子中有一个虚拟的。
(单击任意一行并查看 tableName 在日志中。

var tableResults = [
  {
    name: 'dynamicTable1'
  },
  {
    name: 'dynamicTable2'
  }
];

$.each(tableResults, function () {
  $('#table1 tbody:last-child').append('<tr><td><a data-table="' + this.name + '">' + this.name + '</a></td></tr>'); 
});

$(document).on('click','[data-table]', function(){
  var link = $(this),
      tableName = link.attr('data-table');

  console.log(tableName);

  // do your ajax call with tableName
  // $.ajax({ ....
});
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<table id="table1">
  <tbody></tbody>
</table>
<hr />
<table id="table2">
  <tbody></tbody>
</table>

http://jsbin.com/jicihohama/edit?html,js,控制台,输出
笔记:
然后页面应该刷新并显示数据
你说的刷新是指ajax“刷新”?否则为什么需要ajax?
你不能把 tdtbody 所以你需要加一行( tr )我也是。

相关问题