我希望它是愚蠢的,但我的脑袋今天正好重载:)我有这个代码,我需要将指针存储在单击的元素上并将其传递给回调函数。确切地说,它是一个提交按钮,并在正确的ajax提交表单后,我想删除它们的内容。我已经尝试了很多这些parent(),children(),..组合,但它不起作用:
$("form :submit").click(function () {
var element = this;
$(this).ajaxSubmit(function(payload, element){
$.nette.success(payload);
$(element).parent().children(".addStatusTextArea").val("");
hideMessage();
}
);
return false;
});
答案 0 :(得分:3)
问题是,element
在回调的参数中指定,请将其保留,如下所示:
$("form :submit").click(function() {
var element = this;
$(this).ajaxSubmit(function(payload) { //no element here in params
$.nette.success(payload);
$(element).parent().children(".addStatusTextArea").val("");
hideMessage();
});
return false;
});
当它在参数中时,定义了 more 本地element
,而不是之前设置的那个。我不确定你的亲戚.parent().children()
电话是否正确(如果是.siblings(".addStatusTextArea")
可能没有看到你的标记)...但你的主要问题是element
不是你的想。
答案 1 :(得分:1)
从传递给ajaxSubmit的函数中删除element参数。 即。
$("form :submit").click(function () {
var element = this;
$(this).ajaxSubmit(function(payload){
$.nette.success(payload);
$(element).parent().children(".addStatusTextArea").val("");
hideMessage();
});
return false;
});