使用javascript动态行编号

如何解决使用javascript动态行编号

我试图在单击添加删除按钮时提供动态行号,但在删除任何行之间,它没有提供正确的行号。 我在表(数据表)中的 td 是:

echo "<td> 1 <input type='hidden' name='task_number[]'  value='1'> </td>";

添加删除 btn :

echo "<input type='button' value='Add Task' onClick=addRow('dataTable') />  "; 
echo "<INPUT type='button' value='Delete Task' onclick=deleteRow('dataTable') />";

在 JavaScript 中:

function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length -1;
    
    var inps = document.getElementsByName('task_number[]');
    var inp=inps[rowCount-1].value; // array start from 0
    inp = ++inp;
   
    var cell2 = row.insertCell(1);
    cell2.innerHTML = inp;
}

Output

解决方法

使用这个功能

function setRowNumber()
{
   $('#tablename tbody tr').each(function (idx) {
        $(this).children("td:eq(1)").html(idx + 1);
   });
}

我还放了动态表代码。如果选中该复选框,则可以删除该行。

orderTable();
    
     function addRow()
     {
         var rowCount = $('#example tr').length;
          if(rowCount == 1)
          {
              var tr = "<tbody><tr id='tr'><td><input type='checkbox' id='chk' name='chk' value='chk'></td>" + "<td></td><td>Task Designer</td></tr></tbody>";
     $('#example thead:last').after(tr);
          }
          else
          {
              var tr = "<tr id='tr'><td><input type='checkbox' id='chk' name='chk' value='chk'></td>" + "<td></td><td>Task Designer</td></tr>";
     $('#example tr:last').after(tr);
          }
       orderTable();
     }
     
   function deleteRow()
     {
         var i = 0;
         $('#example input[type=checkbox]').each(function(){
            if($(this).is(":checked"))
            {
               $('#tr' + (i + 1)).remove();
            }
            i = i + 1;
         });
         $('#example input[type=checkbox]').each(function(){
           
             $(this).prop('checked',false);
         });
         orderTable();
     }
    function orderTable()
    {
          var rowCount = $('#example tbody tr').length;
          if(rowCount > 0)
          {
             $('#example tbody tr').each(function (idx) {
              var num = idx + 1;
              $(this).children("td:eq(1)").html(num);
              $(this).children("td:eq(2)").html('Task Designer' + num);
              $(this).attr('id','tr' + num);
              
             
              //set input names
              $(this).children("td:eq(0)").children().attr('id','chk' + num);
              $(this).children("td:eq(0)").children().attr('name','chk' + num);
              $(this).children("td:eq(0)").children().attr('value','chk' + num);
          });
          }
          
    }
#example
{ 
    border:1px solid #ddd;
    border-collapse: collapse;
}
th
{
   background:#333;
   color:white;
   font-weight:bold;
   height:40px;
}
td
{
   text-align: center; 
   vertical-align: middle;
   border:1px solid #ddd;
   height:40px;
}
<input type='button' id="btnAdd" value='Add Task' onclick="addRow()" />
<input type='button' id="btnRemove" value='Delete Task' onclick="deleteRow()" />
 <table id="example" class="display" cellspacing="0" width="100%" border="0">
            <thead>
               <tr>
                   <th>Select</th>
                   <th>Task Number</th>
                   <th>Task Description</th>
                </tr>
            </thead>
            <tbody>
                
                <tr id="tr">
               
                   <td><input type="checkbox" id="chk" name="chk" value="chk"></td>
                   <td>11</td>
                  <td>Task Designer</td>
                </tr>
                <tr id="tr">
                <td><input type="checkbox" id="chk" name="chk" value="chk"></td>
                   <td>2</td>
                  <td>Task Designer</td>
                </tr>
                <tr id="tr">
                 <td><input type="checkbox" id="chk" name="chk" value="chk"></td>
                   <td>3</td>
                  <td>Task Designer</td>
                </tr>
               
            </tbody>
        </table>
       
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?