我尝试了各种方式,似乎无法做到这一点。 Onclick,我想拿$(this)并将它传递给我的ajax调用,这样当它完成调用时,我可以对$(this)采取进一步行动。
这是我的代码:
$('.but_deleteMaterial').on('click',function(e){
e.preventDefault();
var r = $(this);
$.get('/scripts/delete_material.asp?action=delete&cID='+cID,function(r){
r.closest('.row').hide(); // hide the row that was deleted.
});
});
答案 0 :(得分:2)
您已使用您在r
- 函数的回调中传递的函数参数覆盖变量$.get
。
正确的是:
$.get('/scripts/delete_material.asp?action=delete&cID='+cID,function(data){
r.closest('.row').hide(); // hide the row that was deleted.
});
data
(在本例中)或回调中的函数参数(通常)包含在服务器端脚本中返回(回显)的数据。
答案 1 :(得分:0)
如果你想让r包含被点击的DOM元素。
var r = event.target;
为了根据调用隐藏行,请尝试使用ajaxStop或ajaxComplete
$(document).ajaxComplete(function(event, xhr, settings) {
if (settings.url === "...") {
/* Put your code here */
}
});
答案 2 :(得分:0)
您可以使用bind方法将//removes checked items
foreach (string item in todolistCheckbox.CheckedItems)
{
string strFilePath = "tododo.data";
string strSearchText = item;
string strOldText;
string n = "";
StreamReader sr = File.OpenText(strFilePath);
while ((strOldText = sr.ReadLine()) != null)
{
if (!strOldText.Equals(strSearchText))
{
n += strOldText + Environment.NewLine;
}
//XP Calculation
xpread();
I WANT --> xplabel.text = xp; --- 2 seconds
int x;
Int32.TryParse(xp, out x);
int buffxp = strOldText.Length * 8 + x;
string xpupd = buffxp.ToString();
//write
xpwrite(xpupd);
xpupdate(xpupd);
levelup(xpupd);
}
sr.Close();
File.WriteAllText(strFilePath, n);
}
对象设置为jQuery此对象。只工作ie9 +。
this
});