0

所以我在一个网站上工作,其中一个主页包含一个表格和按钮来控制表格中的选定行。表中的每一行都有一个带有 + 或 - 的按钮,具体取决于用户是否单击它。它以 + 开头,然后在单击时将对该行唯一的标识符添加到数组中。按钮的 ID 等于唯一标识符。

我希望表格每 10 秒自动刷新一次,但是当我这样做时,它会将所有按钮重置为 +,因为那是 HTML 中的内容。

我正在尝试使用以下代码根据数组将已选择的重置为减号:

function refreshTable(){
  $('#tablefill').load('table.php', function(){
       setTimeout(refreshTable, 10000);
    });
    $.each(selected, function(index, value) {
       document.getElementById(value).innerHTML = '-';
    });
}

我对 jQuery 不太熟悉,所以我确定我只是错过了一些东西。让我知道是否应该包含任何其他代码。

4

2 回答 2

1

您的 jQuery 代码对我来说实际上看起来不错。我认为你的问题是你在调用服务器之后立即执行你的 .each ,而不是在服务器返回之后;.each 应该在您在上面定义的回调函数内,直​​接在您的 setTimeout 调用之上或之下,即:

function refreshTable(){
  $('#tablefill').load('table.php', function(){
      $.each(selected, function(index, value) {
        document.getElementById(value).innerHTML = '-';
      });
      setTimeout(refreshTable, 10000);
  });
}
于 2013-08-02T21:30:27.233 回答
0
selected.html('-');

应该可以正常工作,假设selected是类似的结果$('.yourClass');

在 jQuery 中,几乎每个方法都适用于集合以及单个项目。无需遍历项目。

于 2013-08-02T21:16:20.687 回答