Javascript jQuery$.ajax始终删除动态表上的第一行

Javascript jQuery$.ajax始终删除动态表上的第一行,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在动态表中遇到一个问题,添加新行可以很好地工作,但删除行不行 这是我的代码: <script type="text/javascript"> $(document).ready(function(){ $(document).on("click", ".trash", function(e){ e.preventDefault(); var $ligneParent = $(this).parent().parent(); trash($ligne

我在动态表中遇到一个问题,添加新行可以很好地工作,但删除行不行

这是我的代码:

<script type="text/javascript">
  $(document).ready(function(){
   $(document).on("click", ".trash", function(e){
    e.preventDefault();
    var $ligneParent = $(this).parent().parent();
    trash($ligneParent);
   });
  });

function trash(aLigneToTrash) {
 if (confirm("Vous allez supprimer définitivement cette ligne !")) {
 var maincourante =  $('table td.textemc').html();
 var data = 'maincourante=' + maincourante;

console.log(maincourante);

$.ajax({
  type: "POST",
  url: "form/delete/deletemc.php",
  data: data,
  cache: false,
  success: function() {
    aLigneToTrash.fadeOut('slow', function() {
      aLigneToTrash.remove();
    });
  }
});
return false;      
}
}
</script>

$(文档).ready(函数(){
$(文档)。在(“单击”上,“.trash”,函数(e){
e、 预防默认值();
var$ligneParent=$(this.parent().parent();
垃圾(木质材料租金);
});
});
功能垃圾桶(aLigneToTrash){
如果(确认(“您的供应商在哪里?”){
var maincourante=$('table td.textemc').html();
var数据='maincourante='+maincourante;
控制台日志(maincourante);
$.ajax({
类型:“POST”,
url:“form/delete/deletemc.php”,
数据:数据,
cache:false,
成功:函数(){
aLigneToTrash.fadeOut('slow',function(){
aLigneToTrash.remove();
});
}
});
返回false;
}
}
我的问题是变量“maincourante”,它总是返回第一个条目。 此变量应返回我要删除的行的值

这是我的新行代码:

var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td class="textemc">'+texte+'</td><td class="button"><button><i class="icon-pencil"></i></button></td><td class="button"><button class="trash"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          $('#tablemc').append(nouvelle_ligne);
var nouvelle_ligne=$(''+hours+'h'+minutes+''+texte+'').fadeIn('fast');
$('#tablemc')。追加(nouvelle_ligne);

如果看不到实际的DOM,就有点难说,但实际上您永远不会删除它:

aLigneToTrash
我想你可能想做:

var data = 'maincourante=' + aLigneToTrash.html();
$('table td.textemc').html()
将始终选择DOM中的第一个
td.textemc
(这就是jQuery的工作方式)。

感谢您的帮助。 我试试这个:

function trash(aLigneToTrash) {
 if (confirm("Vous allez supprimer définitivement cette ligne !")) {
  var data = 'maincourante=' + aLigneToTrash.html();

console.log(data);

$.ajax({
  type: "POST",
  url: "form/delete/deletemc.php",
  data: data,
  cache: false,
  success: function() {
    aLigneToTrash.fadeOut('slow', function() {
      aLigneToTrash.remove();
    });
  }
});
return false;      
}
}
和console.log返回给我:

maincourante=<td class="thtime">09h28</td><td class="textemc">ryhjzreyjryjryjr54654</td><td class="button"><button><i class="icon-pencil"></i></button></td><td class="button"><button class="trash"><i class="icon-trash"></i></button></td>
maincourante=09H28RYHJZREYJRYJR54654

我想要“td class=“textemc”的值,就像这样
maincourante=ryhjreyjryjryjryjr54654
我会做得很好,这项工作也会做得很好

var data = 'maincourante=' + aLigneToTrash.children('.textemc').html();

再次感谢您的帮助

尝试更新您的ajax调用:

....
$.ajax({
  type: "POST",
  url: "form/delete/deletemc.php",
  data: data,
  cache: false,
  success: function() {
     aLigneToTrash.fadeOut('slow', function() {
     aLigneToTrash.remove();
  $('#tablemc').append(' ');/*add a space to let browser know that there is a change*/
});
  }
});
return false;      
}
}
</script>
。。。。
$.ajax({
类型:“POST”,
url:“form/delete/deletemc.php”,
数据:数据,
cache:false,
成功:函数(){
aLigneToTrash.fadeOut('slow',function(){
aLigneToTrash.remove();
$('#tablemc')。附加('')/*添加一个空格,让浏览器知道有更改*/
});
}
});
返回false;
}
}
我也遇到过类似的问题,所以浏览器(尤其是IE)似乎无法检测到表上的很多更改,所以,这种黑客技术对我来说很有效。我希望它对您有帮助。(假设tablemc是基本表)