所以我正在一个网站上工作,其中一个主页面包含一个表格和按钮来控制表格中的选定行。表中的每一行都有一个带有+或a的按钮,具体取决于用户是否单击了它。它以+开头,然后在单击时将该行唯一的标识符添加到数组中。按钮的ID等于唯一标识符。
我希望表每10秒自动刷新一次,但是当我这样做时,它会将所有按钮重置为+,因为这就是HTML中的内容。
我试图让它根据具有以下代码的数组将已经选择的那些重置为minuses:
function refreshTable(){
$('#tablefill').load('table.php', function(){
setTimeout(refreshTable, 10000);
});
$.each(selected, function(index, value) {
document.getElementById(value).innerHTML = '-';
});
}
我对jQuery没有太多经验,所以我确定我只是错过了一些东西。如果我应该包含任何其他代码,请告诉我。
答案 0 :(得分:1)
您的jQuery代码实际上对我来说没问题。我认为您的问题是您在调用服务器后立即执行.each,而不是在服务器返回后执行; .each应该在你上面定义的回调函数中,紧接在你的setTimeout调用之上或之下,即:
function refreshTable(){
$('#tablefill').load('table.php', function(){
$.each(selected, function(index, value) {
document.getElementById(value).innerHTML = '-';
});
setTimeout(refreshTable, 10000);
});
}
答案 1 :(得分:0)
selected.html('-');
应该可以正常工作,假设selected
是$('.yourClass');
在jQuery中,几乎每个方法都适用于集合以及单个项目。无需循环遍历项目。