首页 > 解决方案 > 如何在其类索引中获取输入的值并将其分配给在其自己的集合中具有相同索引的另一个输入?

问题描述

请原谅我的菜鸟,但请耐心等待。假设我们在容器 1 中有任意数量的输入,其中一些共享一个类。

我们还有另一个容器 2,它里面有一些输入,其中一些也共享一个类

我想要的是复制容器 1 中在类中有索引的输入值.inputs1到容器 2 中在类中具有相同索引的相应输入.inputs2

我知道如何获取当前正在使用的输入的索引(在其类中)var index1 = $(this).closest("input").index(".inputs1");

我只是不知道我应该使用什么 jquery 选择器来传输我应该从哪里开始的值?

片段可视化我的概念:

$(document).on("input", "input", function() {
  var index1 = $(this).closest("input").index(".inputs1");
  var index2 = $(this).closest("input").index(".inputs2");


});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container1">
  <input placeholder="container 1" class="inputs1"><input placeholder="container 1"><input placeholder="container 1" class="inputs1"><input placeholder="container 1"><input placeholder="container 1" class="inputs1">
</div>
<div id="container2">
  <input placeholder="container 2" class="inputs2"><input placeholder="container 2"><input placeholder="container 2" class="inputs2"><input placeholder="container 2"><input placeholder="container 2" class="inputs2">
</div>

标签: javascripthtmljquery

解决方案


如果您只想将值从由类标记的输入复制.inputs1到具有相应索引的输入#container2

$(document).on("input", function(event) {
  let $currentInput = $(event.target)
  if ($currentInput.hasClass('inputs1')) {
    let inputToUpdate = $('#container2 input')[$currentInput.index()]
    $(inputToUpdate).val(event.target.value)
  }
});

推荐阅读