【发布时间】:2021-07-19 14:49:06
【问题描述】:
我正在尝试使用 jquery 添加/删除后实现动态行编号设置。下面是我的 php 代码,我可以实现添加行,但是在删除时,重新索引部分折叠了
echo "<input type='button' value='Add Task' id='addRow' name='addRow' />";
// table creation
echo "<tbody id='dynamic_field'>";
echo "<tr>";
echo "<td> 1 <input type='hidden' name='task_number[]' value='1'> </td>";
echo "<td> <input type='text' name='task_description[]' value=''> </td>";
echo "<td> <input type='text' name='task_script_name[]' value=''> </td>";
echo "<td> <input type='text' name='dependent[]' value=''> </td>";
echo "<td id='type1'><right><select name='type[]'>
<option enum='Yes'>PrepWork</option>
<option enum='No'>Upgrade</option>
</select> </center></td>";
echo "<td id='passthrough1'><right><select name='task_Passthrough[]'>
<option enum='Yes'>Yes</option>
<option enum='No'>No</option>
</select> </center></td>";
echo "<td><button type='button' disabled name='remove'
class='btn btn-danger btn_remove'>X</button></td></tr>";
而 jquery 是:
var i=1;
$('#addRow').click(function(){
i++;
console.log(i);
$('#dynamic_field').append
('<tr><td id="row_num'+i+'">'+i+'<input type="hidden" name="task_number[]" value='+i+'></td>'+
'<td><input type="text" name="task_description[]" value=""></td>'+
'<td> <input type="text" name="task_script_name[]" value=""> </td>'+
'<td> <input type="text" name="dependent[]" value=""> </td>'+
'<td id="type1"><right><select name="type[]">'+
'<option enum="Yes">PrepWork</option><option enum="No">Upgrade</option></select></center></td>'+
'<td id="passthrough1"><right><select name="task_Passthrough[]">'+
'<option enum="Yes">Yes</option><option enum="No">No</option></select></center></td>'+
'<td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
});
$(document).on('click', '.btn_remove', function(){
var button_id = $(this).attr("id");
$('#row'+button_id+'').remove();
$('tbody tr').each(function(j){
// this is the part i am stuck, Once the delete action perfomed table row should be reindex , so that i can save in database.
});
i--;
});
当我尝试对其进行编码时,表结构因错误值而崩溃。请帮忙解决这个问题!
注意:有 30+ 个任务,所以需要编号来识别和查看,还需要存储在 db 中
【问题讨论】:
-
最好使用类而不是递增
id(s) -
几个问题:为什么你认为你需要给每一行一个“数字”?为什么你认为这个数字需要,甚至应该,编码成
id?为什么你认为你需要删除一行并重新索引? (提示:您不删除该行,将其标记为非活动并将其隐藏,则无需重新索引) -
为了回答你的问题,我附上了截图。第一行删除仅禁用,如果我删除了 2 行,那么它应该重新索引对吗?我有 30 多个任务,所以需要编号来识别,还需要存储在数据库中
标签: php jquery dynamic html-table each