Yas*_*ser 3 javascript jquery asp.net-mvc-3
我使用ASP.NET MVC和Jquery,这似乎是一个jquery错误.
我正在对我的方法进行ajax调用,我的代码是
$('.reopenBtn').live('click', function () {
var taskId = $(this).attr("data-taskid");
$.ajax({
url: '/Task/ReopenTask/?strTaskId=' + taskId,
type: "POST",
success: function (data) {
// this does not work !!
$(this).parent().parent().closest("div").remove();
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error');
}
});
});
Run Code Online (Sandbox Code Playgroud)
在remove这个问题创建的jsfiddle时不工作,但在这里,这个工程.
那么,$(this)在ajax调用的成功函数中有什么不同吗?
我该如何解决这个问题?谢谢
context 属性将在ajax的成功函数内部工作 context: this,
$('.reopenBtn').live('click', function () {
var taskId = $(this).attr("data-taskid");
var self = this;
$.ajax({
url: '/Task/ReopenTask/?strTaskId=' + taskId,
type: "POST",
success: function (data) {
$(self).parent().parent().closest("div").remove();
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error');
}
});
});
Run Code Online (Sandbox Code Playgroud)
或者您可以设置contextajax选项的属性.
$('.reopenBtn').live('click', function () {
var taskId = $(this).attr("data-taskid");
$.ajax({
url: '/Task/ReopenTask/?strTaskId=' + taskId,
type: "POST",
context: this,
success: function (data) {
$(this).parent().parent().closest("div").remove();
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error');
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1538 次 |
| 最近记录: |