如何使用jQuery从动态创建的表单字段中使用值创建多维数组?

双跳

我有一个表单,可以在其中一次动态添加三个字段。

这些字段分别具有不同的类名。

我想创建一个存储这些字段值的多维数组。

数组需要如下所示:

var working_days = {
        0: {
            'workday': data,
            'from': data,
            'till': data
        },
        1: {
            'workday': data,
            'from': data,
            'till': data
        },
        2: {
            'workday': data,
            'from': data,
            'till': data
        },
        //etc.
    };

可能使用数组推送?

这是我到目前为止的代码:

$('body').on('click','.createItem', function() {
    var working_days = {}

    console.log(values);
    $('input.startTime').each(function() {
        var startTime = $(this).val();
    });

    $('input.endTime').each(function() {
        var endTime = $(this).val();
    });

    $('select.day').each(function() {
        var day = $(this).val();
    });

});

有什么可能的方法可以做到这一点?

汽车10分钟

jQuery辅助函数.serializeArray()对于您来说可能是一个很好的起点。然后,需要使用生成的对象数组转换为所需的格式.reduce()这里有一些小技巧来演示可能的解决方案:

const names={startTime:"from",endTime:"till"};
function addTimes(tblsel){
 $(tblsel).append($("#timegrp").html()) 
}
for (let n=6;n--;) addTimes("#times table");
$("#times").on("click",".rmv",function(){this.closest("tr").remove()});
$("#add").click(ev=>addTimes("#times table"));
$("#chk").click(ev=>{
  const res=$("#times").serializeArray().reduce((a,e)=>{
    if (e.name=="day") a.push({workday:e.value});
    else names[e.name] && (a[a.length-1][names[e.name]]=e.value);
    return a;
  },[]);
  console.log(res);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="add">add workday</button>
<button id="chk">check times</button>
<form id="times">
<table></table>
</form>

<template id="timegrp">
<tr><td><select name="day"><option>Monday</option>
<option>Tuesday</option>
<option>Wednesday</option>
<option>Thursday</option>
<option>Friday</option>
<option>Saturday</option>
<option>Sunday</option></select></td>
<td><input type="time" name="startTime" value="08:30"></td>
<td><input type="time" name="endTime" value="17:00"></td>
<td class="rmv" title="remove">&#x2718;<td></tr>
</template>

(我的脚本创建了一个对象数组。您在问题中所要求的结果是一个对象,而不是一个数组。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用jquery从动态创建的输入字段访问输入文本

来自分类Dev

在使用jQuery回发之前从动态表单字段获取价值

来自分类Dev

使用Angular创建互斥的表单字段

来自分类Dev

如何使用 jQuery 创建动态数组并添加动态值。

来自分类Dev

使用 jQuery 拆分表单字段值

来自分类Dev

如何订购在Django中动态创建的模型表单字段

来自分类Dev

从动态创建的输入字段加载数组

来自分类Dev

如何使用动态行和列创建多维数组

来自分类Dev

如何在PDO中使用列名创建多维数组

来自分类Dev

如何使用JQuery将值从动态创建的表传递到新的数据库查询中?

来自分类Dev

使用jQuery追加表单字段的值到表单动作?

来自分类Dev

从表单字段创建JSON-jQuery

来自分类Dev

如何动态获取表单字段值?

来自分类Dev

JavaScript:使用不同的名称创建表单字段吗?

来自分类Dev

单击使用JavaScript创建新的表单字段

来自分类Dev

如何在Android中使用LayoutInflater从动态创建的EditText获取数据?

来自分类Dev

使用jQuery UI从动态创建的选项卡中获取数据属性值

来自分类Dev

如何使用 JSTL 和 EL 获取动态表单字段名称的值

来自分类Dev

如何使用php将动态表单字段插入mysql

来自分类Dev

如何使用水豚填充动态表单字段

来自分类Dev

如何使用Spray创建带有表单字段内容的POST请求?

来自分类Dev

如何使用看起来已启用的 listTile 创建文本表单字段

来自分类Dev

使用struts2从动态创建的下拉列表中选择值后如何调用动作

来自分类Dev

使用struts2从动态创建的下拉列表中选择值后如何调用动作

来自分类Dev

使用jQuery创建/管理多维数组

来自分类Dev

如何在AngularJS中使用Controller动作设置表单字段的值

来自分类Dev

使用jQuery更改动态创建的输入字段的值

来自分类Dev

如何使用jQuery删除从动态dataTables创建的表中某些表行?

来自分类Dev

如何在Livewire中使用嵌套表单字段?

Related 相关文章

  1. 1

    使用jquery从动态创建的输入字段访问输入文本

  2. 2

    在使用jQuery回发之前从动态表单字段获取价值

  3. 3

    使用Angular创建互斥的表单字段

  4. 4

    如何使用 jQuery 创建动态数组并添加动态值。

  5. 5

    使用 jQuery 拆分表单字段值

  6. 6

    如何订购在Django中动态创建的模型表单字段

  7. 7

    从动态创建的输入字段加载数组

  8. 8

    如何使用动态行和列创建多维数组

  9. 9

    如何在PDO中使用列名创建多维数组

  10. 10

    如何使用JQuery将值从动态创建的表传递到新的数据库查询中?

  11. 11

    使用jQuery追加表单字段的值到表单动作?

  12. 12

    从表单字段创建JSON-jQuery

  13. 13

    如何动态获取表单字段值?

  14. 14

    JavaScript:使用不同的名称创建表单字段吗?

  15. 15

    单击使用JavaScript创建新的表单字段

  16. 16

    如何在Android中使用LayoutInflater从动态创建的EditText获取数据?

  17. 17

    使用jQuery UI从动态创建的选项卡中获取数据属性值

  18. 18

    如何使用 JSTL 和 EL 获取动态表单字段名称的值

  19. 19

    如何使用php将动态表单字段插入mysql

  20. 20

    如何使用水豚填充动态表单字段

  21. 21

    如何使用Spray创建带有表单字段内容的POST请求?

  22. 22

    如何使用看起来已启用的 listTile 创建文本表单字段

  23. 23

    使用struts2从动态创建的下拉列表中选择值后如何调用动作

  24. 24

    使用struts2从动态创建的下拉列表中选择值后如何调用动作

  25. 25

    使用jQuery创建/管理多维数组

  26. 26

    如何在AngularJS中使用Controller动作设置表单字段的值

  27. 27

    使用jQuery更改动态创建的输入字段的值

  28. 28

    如何使用jQuery删除从动态dataTables创建的表中某些表行?

  29. 29

    如何在Livewire中使用嵌套表单字段?

热门标签

归档