gpt4 book ai didi

jquery - .done 不更新按钮值

转载 作者:行者123 更新时间:2023-12-01 07:15:24 24 4
gpt4 key购买 nike

$(document).ready(function(){
$('.msg-buttons :button').on("click",function(event) {
var id = $(this).attr("data-rel");

$.get( "account/process-actions.php", { value: id } )
.done(function( data ) {
$(this).attr('value', data);
//alert( "Data Loaded: " + data );
});
});
});

我想在按钮更改数据库中的值后更新按钮的值(有一组按钮)。

上述问题是 .done 似乎不允许“this”。它确实回发了数据,并且警报也起作用。

最佳答案

完成处理程序中的

this 并不引用单击的按钮。

解决方案1.使用闭包变量

$(document).ready(function () {
$('.msg-buttons :button').on("click", function (event) {
var id = $(this).attr("data-rel");

var $this = $(this);
$.get("account/process-actions.php", {
value: id
}).done(function (data) {
$this.attr('value', data);
//alert( "Data Loaded: " + data );
});
});
});

解决方案 2:使用 $.proxy()将自定义执行上下文传递给回调方法

$(document).ready(function () {
$('.msg-buttons :button').on("click", function (event) {
var id = $(this).attr("data-rel");

$.get("account/process-actions.php", {
value: id
}).done($.proxy(function (data) {
$(this).attr('value', data);
//alert( "Data Loaded: " + data );
}, this));
});
});

关于jquery - .done 不更新按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464373/

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