javascript - 当尝试在 .load() 方法之后在函数内部使用 $(this) 时,我得到 'Bad assignment'

标签 javascript jquery

我还没有找到解决我的问题的方法。也许我使用了错误的关键字。 我试图在执行 .load() 操作后更新输入字段 onchange 的值。 这是我的脚本:

$(document).on("change",".myInput",function() {
    var value = $(this).val();
    $('#actionDiv').load("someAction.php?value="+value, function() {
        $(this).val('OK');
    });
});

因此,在 someAction.php 成功加载到 #actionDiv 后,我想更改该输入字段的值,该值已更改。 我有几个输入字段,它们采取这种操作...... 在 load() 完成后,“$(this)”在函数中似乎是未知的。 有人可以帮忙吗? 谢谢

最佳答案

您需要存储对元素的引用,或者使用不会更改 this 值的箭头方法

$(document).on("change",".myInput",function() {
    var that = this;
    var value = $(that).val();
    $('#actionDiv').load("someAction.php?value="+value, function() {
        $(that).val('OK');
    });
});

或者

$(document).on("change",".myInput",function(e) {
    var value = $(e.target).val();
    $('#actionDiv').load("someAction.php?value="+value, function() {
        $(e.target).val('OK');
    });
});

或者

$(document).on("change",".myInput",function() {
    var value = $(this).val();
    $('#actionDiv').load("someAction.php?value="+value, () =>{
        $(this).val('OK');
    });
});

关于javascript - 当尝试在 .load() 方法之后在函数内部使用 $(this) 时,我得到 'Bad assignment',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49281108/

相关文章:

jQuery 水平滚动隐藏,可能只有 css?

javascript - Ajax 调用成功后将函数重新绑定(bind)到 anchor 标记

javascript - AJAX GET 未在页面加载时更新 Javascript 变量

javascript - 是否可以知道我的 AngularJS HTML 是否引用了不存在的 $scope 值?

jquery - jsTree 清除树、重建树

asp.net - onfocus ="this.blur();"问题

javascript - 在 jQuery + Datatables 中设置 `processData: false` 会将未知内容附加到我的 Ajax 调用的 URL

c# - 如何通过 javascript 填充 asp 下拉列表?

javascript - 在 JavaScript 中循环对象

javascript - 触发文本框中文本的更改