首页 > 解决方案 > 选择要在另一个表单中发布的表单中的输入值

问题描述

我想将第一个表单中的第二个输入的值复制到第二个表单。存在多种形式,因此我不能使用 id 来选择形式或输入 id。第二种形式是固定的,我对使用 id“user1”没有任何问题。

$(".copy").on("click", function() {
  var user = $(this).closest(".card-body").find("form").last("input").val();
  document.getElementById("user1").setAttribute('value', user);
});
<div class="card0">
  <div class="card-body">
    <form>
      <input name="age" id="age" value="XXX" type="hidden">
      <input name="user" id="user0" value="XXX" type="hidden">
    </form>
    <button class="btn btn-success copy">Copy</button>
  </div>
</div>

<div class="card1">
  <form>
    <input name="user" id="user1" value="" type="hidden">
  </form>
</div>

标签: jqueryhtml

解决方案


你没有用.last()对。你需要像这样使用它:

var foo = $(this).closest(".card-body").find("form input").last();

工作样本:

$(".copy").on("click", function() {
  var user = $(this).closest(".card-body").find("form input").last().val();
  document.getElementById("user1").setAttribute('value', user);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="card0">
  <div class="card-body">
    <form>
      <input name="age" id="age" value="XXX" type="hidden">
      <input name="user" id="user0" value="XXX" type="hidden">
    </form>
    <button class="btn btn-success copy">Copy</button>
  </div>
</div>

<div class="card1">
  <form>
    <input name="user" id="user1" value="" type="text">
  </form>
</div>


推荐阅读