繁体   English   中英

我如何使用js或jquery序列化具有倍数ID的多种形式

[英]How can i serialize multiple forms with multiples id's using js or jquery

我想序列化通过引用传递多个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> 

或者,如果您想二维地获取“ id”,然后遍历每个元素并进行序列化,则可以:

 $('#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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM