0

我有一个动态生成的 php 表,它具有相同的行。需要从第 1 行的单元格 1 和第 2 行的单元格 1 中获取值并进行比较。如果它们相同,请删除整行或隐藏...对整个表格执行此操作...感谢任何帮助..谢谢!

到目前为止:

var numRows = $('table#changeSubjectKatedra tr').lenght;
var i = 0;
do {
    var cur = $('input#'+i).val();
    var next = $('input#'+(i+1)).val();
    if(cur == next){
        $('tr#'+i).remove();
        }
    i++;
} while(i<numRows);

表中的行如下所示:

<tr id='idNum'><td>someText<input type='hidden' value='someData' id='idNum'>
</td><td>someText</td></tr>  
4

2 回答 2

3

注意 1. 你应该在服务器端使用 PHP,而不是 JavaScript。

注意 2. 您必须为每个元素使用唯一的 id。

注意 3. 避免使用元素的数字 id。

注意 4. 你根本不需要 id 来做你想做的事。

如果你仍然想用 JavaScript 做,我建议你这样做:(现场演示在这里

var rows = $("#changeSubjectKatedra tr");
for(var i = 0; i <= rows.length - 2; i++) {
  if ($(rows[i]).find("input").val() ==
      $(rows[i+1]).find("input").val()) {
    $(rows[i]).remove();   
  }
}
于 2012-05-13T09:20:28.613 回答
2

您可以使用 jQuery 的 .each 函数。这应该根据您提供的描述起作用:

$('table#changeSubjectKatedra tr').each(function() {
    if (repeat == $(this).children("input")[0].value) {
        $(this).remove();
    }
    repeat = $(this).children("input")[0].value;
});
于 2012-05-13T09:29:22.867 回答