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

是否可以将多个序列化对象合并为一个序列化对象?我将在帖子中使用它。序列化对象是通过 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 个(甚至更多)复选框。


ITMISS
浏览 104回答 1
1回答

回首忆惘然

我仍然不知道您的 HTML 是什么样子以及我们仍然可以进行哪些优化。但以下内容收集了“选中”复选框后面的那些元素的输入字段。也许对你有一些帮助?function collectData(){&nbsp; var data = [];&nbsp; for (var i = 0; i < 7; i++) {&nbsp; &nbsp; data[i] = $('input[type=checkbox][data-record='+i+']').serializeArray();&nbsp; &nbsp; if (data[i][0]) data[i][0].id = $('input[name=id][data-record='+i+']').val();&nbsp; // console.log(data[i]);&nbsp; }&nbsp; let da=data.filter(e=>e.length).map(e=>e[0]);&nbsp; 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>
打开App,查看更多内容
随时随地看视频慕课网APP