Javascript 处理html表的每一行以调用api,并将结果呈现回特定列
我有一张这样的桌子:Javascript 处理html表的每一行以调用api,并将结果呈现回特定列,javascript,html,asynchronous,html-table,Javascript,Html,Asynchronous,Html Table,我有一张这样的桌子: id|name 1 |name1 2 |name2 单击按钮后,我想检查一些api,如 /ispresent/{id}为每行添加一列,该列包含true或false,具体取决于该id是否存在 这里的问题是在每次api调用之后,它会立即向前移动到下一行: $('#tableid tbody tr').each(function() { var dasid = $(this).find("td").eq(1).html
id|name
1 |name1
2 |name2
单击按钮后,我想检查一些api,如
/ispresent/{id}
为每行添加一列,该列包含true
或false
,具体取决于该id是否存在
这里的问题是在每次api调用之后,它会立即向前移动到下一行:
$('#tableid tbody tr').each(function() {
var dasid = $(this).find("td").eq(1).html();
$.get("/isPresent/"+id, function(data, status){
$(this).find("td").eq(5).html(data);
});
});
我尝试了很多东西,但都没能成功。我需要做什么?问题是
此
绑定到函数。因此,内部函数中的此
可能与外部函数不同。解决这个问题的方法是将行保存在一个单独的变量中,基本上缓存this
:
$('#tableid tbody tr').each(function() {
var row = $(this).find("td"); // save the row
var dasid = row.eq(1).html();
$.get("/isPresent/"+id, function(data, status){
row.eq(5).html(data); // use saved row
});
});
一个额外的副作用是您的代码现在比以前小了一点我认为var row=$(这个)
将保存td
而不是tr
@kewlashu它在一个tr
中获取所有td
,而不是td
,因此它表示行