为了账号安全,请及时绑定邮箱和手机立即绑定

将多个序列化对象合并为一个?

将多个序列化对象合并为一个?

PHP
ITMISS 2023-06-24 18:02:06
是否可以将多个序列化对象合并为一个序列化对象?我将在帖子中使用它。序列化对象是通过 for 循环创建的。var data = [];for (var i = 0; i < riid_count; i++) {  data[i] = $('input[type=checkbox][data-record='+i+']').serializeObject();  data[i].id = $('input[name=id][data-record='+i+']').val();  console.log(data[i]);}$.ajax({  url : '<?php echo base_url() . 'index.php/unsubscribe/submit' ?>',  data: data (hopefully access the merged objects),  method: "POST",  processData: true,  dataType: 'json',  error: function(xhr, status, thrown)  {  // i have stuff here  },  success: function(data)  {  // i have stuff here  }});<form>以下是元素外观的示例:<form>  <input type="checkbox" data-record="0" class="selection" name="somename"> </form>根据我从数据库获取的数据,最多可以有 10 个(甚至更多)复选框。
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我仍然不知道您的 HTML 是什么样子以及我们仍然可以进行哪些优化。但以下内容收集了“选中”复选框后面的那些元素的输入字段。也许对你有一些帮助?


function collectData(){

  var data = [];

  for (var i = 0; i < 7; i++) {

    data[i] = $('input[type=checkbox][data-record='+i+']').serializeArray();

    if (data[i][0]) data[i][0].id = $('input[name=id][data-record='+i+']').val();

  // console.log(data[i]);

  }

  let da=data.filter(e=>e.length).map(e=>e[0]);

  console.log(da)

}

$('button').click(collectData);

input[type=text] {width:25px}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form>

<input type="checkbox" data-record="0" name="zero" value="zero">

<input type="text" data-record="0" name="id" value="000">

<input type="checkbox" data-record="1" name="one" value="un">

<input type="text" data-record="1" name="id" value="111">

<input type="checkbox" data-record="2" name="two" value="dos" checked>

<input type="text" data-record="2" name="id" value="222">

<input type="checkbox" data-record="3" name="three" value="tres">

<input type="text" data-record="3" name="id" value="333">

<input type="checkbox" data-record="4" name="four" value="cuatro" checked>

<input type="text" data-record="4" name="id" value="444">

<input type="checkbox" data-record="5" name="five" value="cinquo">

<input type="text" data-record="5" name="id" value="555">

<input type="checkbox" data-record="6" name="six" value="seis">

<input type="text" data-record="6" name="id" value="666">

</form>

<button> send </button>


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信