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吗?那对你来说会容易得多