如何使用 js 或 jquery 序列化具有多个 id 的多个表单



我想通过引用序列化多个ID。
我有这样的东西。

<code>
    keys = ['someref1','someref2',....,'someref99];
    data_serializes = $("#data-"+keys.join(",#data")).serialize();
</code>

您可以看到我的表单ID以" data-"开头,补充必须是我数组中的关键。
但这不起作用。
有什么想法吗?
谢谢。

您可以使用$.each并序列化每个表单,并使用jQuery选择器插值值:

$('#serialize').click(function(e) {
  e.preventDefault();
  let ids = ['first', 'second']
  $.each(ids, function(index, value) {
    console.log($(`#${value}`).serialize())
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="first">
  <input type="text" name="firstname">
  <input type="text" name="lastname">
  <input type="submit" value="Send">
</form>
<form id="second">
  <input type="text" name="firstname">
  <input type="text" name="lastname">
  <input type="submit" value="Send">
</form>
<a href="#" id="serialize">Serialize</a>

$('#serialize').click(function(e) {
  e.preventDefault()
  $.each($('*[id^="data-"]'), function(e) {
    console.log( $(`#${$(this).attr('id')}`).serialize() )
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="data-first">
  <input type="text" name="firstname">
  <input type="text" name="lastname">
  <input type="submit" value="Send">
</form>
<form id="data-second">
  <input type="text" name="firstname">
  <input type="text" name="lastname">
  <input type="submit" value="Send">
</form>
<a href="#" id="serialize">Serialize</a>

最新更新