我有表,表中的数据是用php动态填充的。
当我按下按钮时,将启动ajax请求。在我做了我想用ajax做的事情之后,我得到了一个产品的新名称。我想替换ajax附带的这个新数据,<td>
获得“替换”类,并且是我按下的按钮中最接近的<td>
。
但我无法做到。
@foreach($products as $key => $product)
<tr>
<td>aaa</td>
<td>bbb</td>
<td class="status">{{ $product->name }}</td>
<td>
<button type="button" class="save btn btn-danger" product-id="{{$product->id}}">
<span>Save</span>
</button>
</td>
</tr>
@endforeach
我尝试了很多这样的事情:
$(".save").on('click', function () {
all my ajax here... ,
success: function (data) {
$(this).closest(".status").html(data); // I tried this
$(this).closest("td.status").html(data); // or this
$(this).closest("tr").find(".status").html(data); // or this
$(this).closest("tr").find(".status").html(data); // or this
},
});
以及其他一些事情,但根本没有任何效果。 数据只包含一个简单的字符串。
答案 0 :(得分:4)
this
是jqXhr对象,除非你用上下文改变它
然后,您可以使用closest
和find
来选择字段
$(".save").on('click', function () {
all my ajax here... ,
context: this,
success: function (data) {
$(this).closest("tr").find(".replace").html(data); // or this
}
});