Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
jQuery更改<;td>;使用$.ajax的值_Jquery_Ajax_Asp Classic_Each - Fatal编程技术网

jQuery更改<;td>;使用$.ajax的值

jQuery更改<;td>;使用$.ajax的值,jquery,ajax,asp-classic,each,Jquery,Ajax,Asp Classic,Each,我有一张这样的桌子: <table id="table-name"> <tr><td id="td-name">something</td></tr> <tr><td id="td-name">something</td></tr> <tr><td id="td-name">something</td></tr>

我有一张这样的桌子:

<table id="table-name">
    <tr><td id="td-name">something</td></tr>
    <tr><td id="td-name">something</td></tr>
    <tr><td id="td-name">something</td></tr>
    <tr><td id="td-name">something</td></tr>
</table>
$("#table-name #td-name").each(function () {
    $.ajax({
    type: "POST",
    url: "file.asp",
    data: $(this).html()        
    }).done(function r(returnOfASP) {
        $(this).html(returnOfASP);
    });         
});

它使用“file.asp”进行数据库查询。“something”是数据库查询的参数。“file.asp”正确返回查询,但我无法更改
值(html)。我想Ajax的“完成”中的
$(this)
是不正确的,但我不知道该怎么办。

更改jQuery代码如下:

$("#table-name td").each(function () {
    var self = this;
    $.ajax({
        type: "POST",
        url: "file.asp",
        data: $(this).html()        
    }).done(function r(returnOfASP) {
    $(self).html(returnOfASP);
    });         
});
一个页面上不能有多个id,这可能会弄乱您的选择器。如果您想过滤更多,可以使用类。另外,将此保存到变量可能会解决该问题

您还有一个额外的
})
$(this.html()


希望这会有所帮助。

更改jQuery代码如下:

$("#table-name td").each(function () {
    var self = this;
    $.ajax({
        type: "POST",
        url: "file.asp",
        data: $(this).html()        
    }).done(function r(returnOfASP) {
    $(self).html(returnOfASP);
    });         
});
一个页面上不能有多个id,这可能会弄乱您的选择器。如果您想过滤更多,可以使用类。另外,将此保存到变量可能会解决该问题

您还有一个额外的
})
$(this.html()

希望这会有所帮助。

使用jQuery在不同的上下文中委托执行。在你的情况下,是父母

$("#table-name #td-name").each(function () {
    $.ajax({
        type: "POST",
        url: "file.asp",
        data: $(this).html()        
    }).done($.proxy(function(response) { $(this).html(returnOfASP); }, this));
});
使用jQuery在不同的上下文中委托执行。在你的情况下,是父母

$("#table-name #td-name").each(function () {
    $.ajax({
        type: "POST",
        url: "file.asp",
        data: $(this).html()        
    }).done($.proxy(function(response) { $(this).html(returnOfASP); }, this));
});

您的td需要唯一id,否则应称为class

如果你想在它们上面循环,那么给td类

<table id="table-name">
    <tr><td class="tdName">something</td></tr>
    <tr><td class="tdName">something</td></tr>
    <tr><td class="tdName">something</td></tr>
    <tr><td class="tdName">something</td></tr>
</table>

您的td需要唯一id,否则应称为class

如果你想在它们上面循环,那么给td类

<table id="table-name">
    <tr><td class="tdName">something</td></tr>
    <tr><td class="tdName">something</td></tr>
    <tr><td class="tdName">something</td></tr>
    <tr><td class="tdName">something</td></tr>
</table>

你不能给每个表数据一个唯一的id吗?这会让事情变得更简单,你不能给每个表数据一个唯一的id吗?那对你来说会容易得多