Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理html表的每一行以调用api,并将结果呈现回特定列_Javascript_Html_Asynchronous_Html Table - Fatal编程技术网

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
,因此它表示行