javascript - 使用 JQuery 或 JavaScript 更改 DIV 中的更新/更改订单号
问题描述
我有一个表格,其中有一个DIV
部分drag and drop
。每个DIV
都在一个for
循环中(一旦后端 DEV 将其整理出来,现在它只是硬编码)。
HTML
<div class="row sortableRows">
<div name="orderNumber" class="col-xs-1 col-md-1">1</div>
<div name="startTime" class="col-xs-2 col-md-1">08:00</div>
<div name="endTime" class="col-xs-2 col-md-1">17:00</div>
<div name="weekDays" class="col-xs-2 col-md-1">Mon - Fri</div>
<div name="monthDays" class="col-xs-2 col-md-1">01 - 20</div>
<div name="months" class="col-xs-2 col-md-1">Jan - Dec</div>
<div name="goTo" class="col-xs-2 col-md-1">Working hours</div>
</div>
jQuery
var sortableRows = function () {
if (allowedSort) {
$('#sortableRows').sortable({
disabled: false,
update: function (event, ui) {
// var Newpos = ui.item.index();
// alert("You moved item to position " + Newpos);
// $('span[name = orderNumber]').text(Newpos);
}
});
} else {
// Stops drag & drop when clicking 'Add' button
$('#sortableRows').sortable({
disabled: true,
});
}
}
所以我作为一个例子,如果位置 1 移动到 3,那么下面
位置 2 变为 1 位置 3 变为 2 位置 1 变为 3 以此类推
但我终其一生都无法弄清楚JQuery
。我知道这段代码需要进入我function
通话的“更新”部分。
alert
如果我在“更新”部分取消注释,function
我会得到以下
信息
这很好,但我也有问题是“第一”行不能移动,所以它从第二行开始,所以index
需要从“1”开始,而不是“0”。
我想我是其中的一员,只需要最后润色的帮助,因为下面的代码行$('span[name = orderNumber]').text(Newpos);
更新了我所有的数字,但这是因为它们都有相同的name
,因为这个列表将row
用一个 uinque填充每个id
(蓝色的数字是原号码)。
解决方案
要在移动后重新编号行,我建议您使用.each()
循环:
$('span[name = orderNumber]').each(function(index){
$(this).text(index+1); // Loop index is used
});
因此循环索引用于对所有行重新编号。那也是从零开始的......但请注意+1
.
推荐阅读
- database - KDB/Q:如何在给定时间戳之前获取带有时间戳的记录
- javascript - 带有非堆叠条形、堆叠条形和线条的 Google Charts ComboChart
- hibernate - 休眠验证不会触发持久化?
- java - LocalDate 解析器无法将月份解析为字符串:'Aug'
- python-3.x - python3找不到newt库freebsd
- java - 为什么 Spring Boot 应用程序实体 ID 不会自动生成
- c# - 如何提取 XML 中错误的行号?
- c# - 在 c# 中将 Nested-GridView 与 DataSource DataTable 绑定
- kubeflow - 安装 kubeflow 失败
- spring-boot - 模拟 REST 客户端