javascript - 在克隆期间,更改每个输入的多维数组的第一列索引

标签 javascript jquery

当我克隆该部分时,如何更改多维数组的第一列,用尽可能少的代码,我知道我可以单独进入并找到每个输入,但这似乎效率低下。例如,如果我有;

<div class="wrapper">
    <input type="text" name="height[0][]" />
    <input type="text" name="width[0][]" />
    <input type="text" name="depth[0][]" />
    <input type="text" name="weight[0][]" />
</div>

克隆并编辑后,克隆的输出应如下所示:

<div class="wrapper">
    <input type="text" name="height[1][]" />
    <input type="text" name="width[1][]" />
    <input type="text" name="depth[1][]" />
    <input type="text" name="weight[1][]" />
</div>

谢谢

最佳答案

使用mapreplace(有点繁琐):

var newElems = $(".wrapper").clone(true).find("input").map((index, item) => {
  item.name = item.name.replace(/\[(\d)\]/, `[${parseInt($(item).attr("name").match(/\w+\[(\d)\]/)[1]) + 1}]`);
  return item;
});

console.log([...newElems]);
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<div class="wrapper">
  <input type="text" name="height[0][]" />
  <input type="text" name="width[0][]" />
  <input type="text" name="depth[0][]" />
  <input type="text" name="weight[0][]" />
</div>

关于javascript - 在克隆期间,更改每个输入的多维数组的第一列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55769965/

相关文章:

php 回显 href ='javascript:void(0);'

javascript - 将数据发布到 .html 时如何隐藏 JQuery 中的元素?

动态表单中的 jQuery 验证不起作用

javascript - 如何使用jQuery找到离当前位置最近的元素

javascript - 从嵌套数组中删除元素

javascript - 如何从控制台查看 Javascript 文档?

javascript - Angular ui 路由器 : keep same ui-view for child

JavaScript 性能 - .test() 与 .search()

Javascript:点击状态栏时禁用 iOS 滚动到顶部

javascript - 调用 location.reload() 函数后,是什么导致表中的顺序或行发生变化