как сделать вызов ajax в делегате Jquery () - PullRequest
0 голосов
/ 19 июля 2011

У меня есть функция делегата 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

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Попробуйте это, когда 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();
    });
0 голосов
/ 19 июля 2011

попробуйте этот код-

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

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...