gpt4 book ai didi

javascript - 设置ajax成功回调作为输入值

转载 作者:行者123 更新时间:2023-11-28 18:11:20 24 4
gpt4 key购买 nike

我想将 AJAX 请求中成功回调返回的数据设置为输入值。这是行不通的。我感觉这是因为我在 (.on) 事件函数中使用 AJAX 请求。我需要使用 AJAX 请求 ($this) 中的事件函数来查找我想要更新的输入。

$(function () {
$("table").on('change', '.master', function () {
$.ajax({ type: "POST", async: false, url: '<?php echo site_url('wordsuggestion'); ?>/hoi/nederlands/frans', success: function(data) {
$(this).parents('tr').find(".slave").val(data);
}});
});
});

这是我正在使用的表格。

<tr>
<td>
<div class="form-group"><input type="text" class="master" name="or[0]"></div>
</td>
<td>&nbsp;</td>
<td>
<div class="form-group"><input type="text" class="slave" name="tr[0]"></div>
</td>
</tr>

这对我来说是个谜,为什么这不起作用。我认为在 AJAX 调用中,不能再使用 $(this) 运算符,这会导致输入无法更新。

最佳答案

this 并不是指您在 AJAX 回调中的想法。该回调的上下文位于已完成的原始 change 事件处理程序的上下文之外。

您可以在 $.ajax() 调用中设置上下文,如下所示:

$.ajax({
context: this,
type: "POST",
// etc...

或者甚至只是将值设置为变量并捕获该变量以进行回调:

var element = this;
$.ajax({
success: function (data) {
$(element).parents('tr')....
},
// etc...

关于javascript - 设置ajax成功回调作为输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41470659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com