我有一个JQuery的委托函数来删除一个锚定标记为删除的网格行,如下所示
$('#MyGrid').delegate('a.remove', 'click', function() {
// e.preventDefault();
var tr = $(this).closest('tr');
var htmlstring = tr.find("td").eq(0).html();
alert(htmlstring);
jQuery.ajax( //$.ajax( also not working
{
type: "POST",
url: "UploadDocuments/Removefile",
data: "removefile=" + htmlstring,
success: function(){
tr.remove();
}
});
});
这是我在JQuery的成功函数中进行委托调用的地方
success: function(result) {
var htmlString = [result];
for (i = 0; i < htmlString.length; i++) {
$('#MyGrid tbody').append('<tr><td><a href=' + htmlString[i].no + '>' + htmlString[i].name+ '</a></td><td><a href=' + htmlString[i].no+ ' class="remove">Remove</a></td></tr>');
}
},
现在我想进行如下所示的ajax调用但是一旦我点击删除它就没有击中,但是最初正在加载。我还需要传递数据,即删除行的名称。我怎么能得到那个值? 你们中的任何人可以帮助我吗?被卡住!! ;)
感谢你,
michaeld
答案 0 :(得分:1)
尝试使用IndexOfNameColumn指向名称列索引。
$('#MyGrid').delegate('a.remove', 'click', function() {
// e.preventDefault();
var tr = $(this).closest('tr'); //line#3
var htmlstring = tr.find("td").eq(IndexOfNameColumn).html();
jQuery.ajax( //$.ajax( also not working
{
type: "POST",
url: "UploadDocuments/Removefile",
data: "removefile=" + htmlstring //file name from line#3
});
tr.remove();
});
答案 1 :(得分:0)
试试这段代码 -
$('#MyGrid').delegate('a.remove', 'click', function() {
// e.preventDefault();
var tr = $(this).closest('tr').find("td").eq(0).find('a').text().replace(/"/g,"").trim(); //line#3
var $this = $(this);
jQuery.ajax(
{
type: "POST",
url: "UploadDocuments/Removefile",
data: "removefile=" + tr //file name from line#3
success: function(){
$this.closest('tr').remove();
}
});
});