2012-05-03 40 views
0

我一直在为一个项目编辑别人的代码,并且偶尔偶尔会试图弄清楚某些Javascript函数是如何执行它们的事情的。如何在动态生成表格行时删除它?

本质上,我想添加一个删除行按钮,但它引起头痛。

所以对于动态生成行的文本是由这个PHP变量进行:

$rowtext .= '<tr>something</tr>'; 

,然后函数生成在Javascript行:

function generateRow(x) {'; 
      var row_prototype = \'' . $rowtext . '\'; 
      return row_prototype.replace(/\[index\]/g, x); 
      } 

当添加行按钮点击它执行此操作:

rowIndex = 1; 
function addRow() { 
      var nr = generateRow(rowIndex); 
      rowIndex = rowIndex + 1; 
      jQuery(\'tbody\').append(nr);'; 
} 

我假设我需要做类似的功能要考虑到rowIndex等点击进行。

任何人有任何想法?

+1

这是删除行按钮的位置,如果按钮位于要删除的行内,这很容易?如果没有,当你点击按钮时你想删除哪一行。 –

+0

本质上它是删除上面的代码生成的最后一行...所以删除行rowIndex == 5或东西 –

回答

1

本质上,它是去除已经由上面的代码生成的最后一排......所以删除行的rowIndex == 5或东西

因为你可以使用评论提到最后一行:last选择让最后一排,尽量类似下面,

$('#removeRow').click(function() { 
    $('#table_selector tbody tr:last').remove(); 
}); 

和一个按钮下面一样在你标记的地方,

<button id="removeRow">Remove a Row</button> 

注意:您需要修改#table_selector tbody与特定表ID /类。

+0

谢谢你,我曾尝试类似的解决方案,但只是没有想'rowIndex = rowIndex - 1;'当函数被调用时! –

+0

会投票,但我没有足够的信誉stackoverflow –

+0

@DanielDoyle它为你工作?如果是的话,你可以接受这个答案。如果您在执行上述操作时遇到任何问题,请告诉我。 –