开发者

how to make ajax call in Jquery's delegate()

开发者 https://www.devze.com 2023-03-21 20:11 出处:网络
I have a delegate function of JQuery to remove a row of a grid which is anchor tagged remove, as below

I have a delegate function of JQuery to remove a row of a grid which is anchor tagged remove, as below

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

this is where i am making delegate call in success function of 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><开发者_如何学Ctd><a href=' + htmlString[i].no+ ' class="remove">Remove</a></td></tr>');
}
           },

Now i want to make ajax call as shown but it is not hitting once i click remove ,but is loading initially.Also i need to pass the data i.e the name of the deleted row.How can i get that value? could any of you guys help me out! got stucked !! ;)

thanking you,

michaeld


Try this where IndexOfNameColumn points to the name column index.

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


try this code-

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

    });
0

精彩评论

暂无评论...
验证码 换一张
取 消