提问人:Tariq Jaziri 提问时间:5/14/2023 最后编辑:David ThomasTariq Jaziri 更新时间:5/14/2023 访问量:40
如何使用jQuery将tr编号分配并循环为id?
How do I assign, and loop, the tr number as id using jQuery?
问:
我想计算表格中的行,然后根据该行的编号为中的每一行分配一个 ID 号。<tr>
<table>
<table>
我是这样计算的:
var currentIndex = $('table tbody tr').length
我得到了行数;然后,当我尝试遍历这些行时,它将所有行中的 id 更改为相同的 id。
例如,我需要使第 1 行为 is,第 2 行为 is ,以此类推。id
1
id
2
function generateId() {
for (i = 0; i < $('table tbody tr').length; i++) {
console.log('Hello World', + i -1);
$('table tbody tr td :input').attr('id', + i).attr('name', + i).prop('class', 'form-control form-control-sm form-control-solid formInput-' + i);
//$('table tbody tr td :input').attr('name', + i);
//$('#table tbody tr td :input').attr('class', 'form-control form-control-sm form-control-solid' + i);
}
任何想法??!!
答:
0赞
Carsten Løvbo Andersen
5/14/2023
#1
你可以这样做:
$('table tbody tr td :input').attr("id",function() {
return "idprefix"+$('table tbody tr td :input').index($(this));
});
此外,不建议将 id 设置为数字。
演示
$('table tbody tr td :input').attr("id",function() {
return "idprefix"+$('table tbody tr td :input').index($(this));
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>
<input />
</td>
</tr>
<tr>
<td>
<input />
</td>
</tr>
<tr>
<td>
<input />
</td>
</tr>
<tr>
<td>
<input />
</td>
</tr>
</tbody>
</table>
0赞
Developer
5/14/2023
#2
根据行数为每一行提供 id。你可以这样做:-
const rows = $('table tbody tr');
for (i = 0; i < rows.length; i++) {
let row = $(rows)[i];
let input = $(row).children('td').children('input');
$(row).attr('id', i+1);
$(input).attr('id', i+1);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<th>#</th>
<th>First Name</th>
</thead>
<tbody>
<tr>
<td>01</td>
<td>John</td>
<td><input type="text" /></td>
</tr>
<tr>
<td>02</td>
<td>John</td>
<td><input type="text" /></td>
</tr>
<tr>
<td>03</td>
<td>John</td>
<td><input type="text" /></td>
</tr>
</tbody>
</table>
评论
0赞
Tariq Jaziri
5/14/2023
我需要另一件事,我在 TR 的每个 TD 中都有输入,我需要将 TR 的相同 ID 分配给 TR 下的所有输入,我怎么能做到呢?
0赞
Developer
5/14/2023
@TariqJaziri 我们也可以为输入字段提供 id。但请记住,Id 在页面中应该是唯一的。这是一个很好的做法。因此,如果要为多个事件提供相同的 id,请不要使用 id,而是使用相同的类。您可以对多个元素使用同一个类
0赞
Tariq Jaziri
5/14/2023
当然,我知道它必须是唯一的,我会在行号之前添加一些引用来解释每个元素,您能否更新代码以让我知道如何将 ID 号分配给输入!
0赞
Developer
5/14/2023
@TariqJaziri Oky,我会更新它。
0赞
Developer
5/14/2023
@TariqJaziri 我已经根据您的要求更新了代码。试试吧
上一个:创建具有视频 ID 和字幕的数组
评论
<table>