jQuery + PHP: удаление строк из таблицы из нескольких идентификаторов - PullRequest
0 голосов
/ 17 августа 2010

Привет, ребята.Я немного новичок в jQuery и JavaScript в целом.У меня есть CMS, которую я обновляю.При этом я запустил опцию одновременного удаления нескольких категорий с помощью флажков, которые обрабатываются с помощью jquery / ajax.

При отдельном удалении записей я могу удалить строку таблицы после удаления, нотеперь с несколькими записями и флажками, я не совсем уверен, как справиться с этим.Если это вообще помогает, это то, с чем я работаю (извините, если это грязно, я не слишком знаком с JS или jQuery в целом) ...

// Process deleting multiple categories
 $("#delete_selected").click(function() {  

  $("#delete_loading").fadeIn("slow");
  var bool = confirm('Are you sure you want to delete the selected categories?  This action cannot be undone.');

  if (bool == true) 
  {   
   var formDataString = $("#categoriesForm").serialize(); 

   $.ajax({
    type: "POST",
    url: domain + "/admin/categories/delete_category/",
    data: formDataString,
    cache: false,
    dataType: "html",
    success: function() { 
     $("#delete_loading").fadeOut("slow");
     $('tr#' + id).fadeOut("slow");
     $('tr#' + id + ' td').fadeOut("slow");
    },
    error: function() { 
     $("#delete_loading").fadeOut("slow");
     $('#error').fadeIn("slow"); 
    }
   });
  }
  else { $('#error').show(); }
  return false;
 });

Спасибо за любую помощь или мысли, которые выможет предложить.Как вы можете видеть, в старом коде я только что обработал строки таблицы после обработки, но не знаю, как вернуть идентификаторы, чтобы скрыться от PHP (я также использую фреймворк Kohana).

Ответы [ 2 ]

0 голосов
/ 17 августа 2010

Что такое #categoriesForm?Поле ввода?

Я вижу, вы используете его для сериализации, и, если я не помню неправильно, jquery должен иметь функцию для преобразования его в массив.

Затем, с простым .each() вы можете удалить из dom строки с помощью .parent ('tr: first');как предложил Баракад.

В качестве примечания, я не понимаю, почему ваш ajax-вызов имеет dataType: "html" ... что вы ожидаете в качестве возвращаемого значения?Обычно подобные вещи ожидают возврата логического значения (true для успеха, false в случае ошибки) или сообщения json со всеми деталями. Html dataType заставляет меня думать, что вы обновляете DOM страницы с помощью ответа ajax,я не прав?

0 голосов
/ 17 августа 2010

Вы можете просто получить отмеченные элементы внутри таблицы и удалить их, как показано ниже

$('#tableId :checked').each(function(i, item){
  var $row = $(item).parent('tr:first');
  $row.fadeOut("slow");
  $('td', row).fadeOut("slow"); //i'm not sure why you need to hide tds after hiding the hole row
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...