如何在Jquery中调用ajax';s代表()

如何在Jquery中调用ajax';s代表(),ajax,jquery,Ajax,Jquery,我有一个JQuery的委托函数来删除一行被锚定标记为remove的网格,如下所示 $('#MyGrid').delegate('a.remove', 'click', function() { // e.preventDefault(); var tr = $(this).closest('tr'); var htmlstring = tr.find("td").eq(0).html(); alert(ht

我有一个JQuery的委托函数来删除一行被锚定标记为remove的网格,如下所示

 $('#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函数中进行委托调用的地方

    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>');
}
           },
成功:函数(结果){
var htmlString=[result];
对于(i=0;i
现在我想进行ajax调用,如图所示,但单击“删除”后它不会命中,而是开始加载。我还需要传递数据,即已删除行的名称。我如何获得该值? 你们谁能帮帮我!被绊倒了!!;)

谢谢你


michaeld

在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();
    });
请尝试以下代码-

$('#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(); 
                   }
            });

    });

您好Shankar,感谢您的回复,我已经为htmlstring设置了警报弹出窗口,它甚至没有弹出,我也尝试过这样做,但没有成功。var stringhtml=$(this.closest('tr')。find(“td”).eq(IndexOfNameColumn.html();但我的主要问题是ajax调用不进行,我如何在代理内部进行ajax调用?@Michael-有一个拼写错误,我编辑了我的答案,请检查并接受我的答案,如果它解决了您的问题,谢谢。嗨,shankar,我已将编辑的答案添加到我的代码中,它甚至没有从网格警报(htmlstring)中删除该文件;甚至没有弹出。还有如何进行ajax调用?您在代码中设置的IndexOfNameColumn是什么?js中的警报调用在哪里?我需要为其设置IndexOfNameColumn?我认为它是标识名称的预定义类型。您想传递已删除行的名称或该行的文本吗?如果您发布html代码片段会更好…主要是您试图删除的tr部分Hi Vivek,我已经添加了代码,我需要将“result.childNodes[0].innerHTML”传递给控制器,但是在那之前,Ajax调用是不存在的。我该怎么做呢?因为这对我来说是个大问题。thanks@michael-您可以使用
ShankarSangoli
code,只需将
0
传递到适当的
IndexOfNameColumn
。让我知道它是否适合您。@Vivek-我的要求已更改并编辑成功函数:,我需要将htmlstring[i]。否传递给控制器?所以我需要修改var tr,如何修改它?谢谢。嗨,vivek,它工作得很好,text()和html()都在我的代码中工作。现在,如果tr=“new.txt”我需要在tr中以new.txt的形式传递数据,不包括引号。可能我需要使用remove(),我会尝试一下,但我的主要问题是ajax调用无法进行。如何在ajax调用中删除
数据之后的逗号(,)
:“removefile=“+htmlstring,
”。额外的逗号意味着您将提供额外的参数,但实际上您没有。所以这就是成功的原因:我添加了逗号,现在它正在进行ajax调用,但是字符串传递tris为“\”new.txt\”。很高兴听到您的ajax最终开始工作:)…要删除双引号,请查看我的更新答案。嘿,vivek,文件没有删除;)即使我将其放在成功之外,也没有删除。