Выбор элемента AJAX Проблема со строкой таблицы

Я пытаюсь ajax удалить строки в таблице. Он работает, за исключением того факта, что он удаляет ВСЮ таблицу … В таблице есть таблица, код которой выглядит следующим образом;

$(document).ready(function() {
$(".delete").bind('click', function(e){
e.preventDefault();
var parent = $(this).parents('tr');
var string = 'id='+ parent.attr('id').replace('record-','') ;
$.ajax({
type: 'POST',
url: 'ajax_delete.php',
data: string,
beforeSend: function() {
parent.animate({'backgroundColor':'#fb6c6c'},300);
},

success: function(data) {
if(data.status == 'success'){
parent.slideUp(300,function() {
parent.remove();
});
}else if(data.status == 'error'){
parent.animate({'backgroundColor':'#eeeeee'},300);
} else {
parent.animate({'backgroundColor':'#eeeeee'},300);
}
},

});
});
});

Макет стола;

          <table class="tab_var1">
<tr>
<td class="tab_var1_pad">
<div class="v_tables">
<table>
<tr>
<td>
Domain Name
</td>
<td>
Stats Overview
</td>
<td>
Remove from CRON
</td>
</tr>
<tr class="record" id="record-1">
<td >
<a href="http://www.challengept.com" target="_blank">challengept.com<a>
</td>

<td >
<table >
<tr>
<td>
Traffic (Month)
</td>
<td>
No. Keywords
</td>
<td>
No. PPC Ads
</td>
<td>
Visibility
</td>
</tr>
<tr>
<td>
1796
</td>
<td>
367
</td>
<td>
0
</td>
<td>
0.0236900
</td>
</tr>
<tr>
<td>
Data Source - UK
</td>
</tr>
</table>
</td>
<td >
<a href="#" class="delete btn-small btn-extra">Remove</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>

Если кто-нибудь может дать мне знать, как я могу выбрать один TR в ajax, это было бы очень полезно. TR, который я хочу выбрать, это tr с классом «record», который имеет кнопку href в последнем тд. Я использую выбор родителей tr?

0

Решение

Ты можешь использовать closest за это:

var parent = $(this).closest('tr');
var string = 'id='+ parent.attr('id').replace('record-','') ;

Я думаю, что вы можете сделать это лучше следующим образом:

1. Назначьте data attr для поля id

<a href="#" class="delete" data-id="1">Remove</a>

2. Получить идентификатор данных

var string = $(this).data('id');
1

Другие решения

.parents() возвращает всех родителей элемента. Вам просто нужно выбрать ближайшего родителя или ближайшего предка tr. Используйте следующий метод jquery

var parent = $(this).closest('tr');

Смотрите ссылки

https://www.w3schools.com/jquery/traversing_parents.asp

Выбор строки Jquery в кнопке onClick

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector