繁体   English   中英

遍历HTML元素

[英]Looping through HTML elements

我有以下HTML / Bootstrap表单(动态生成):

<div id="date_fields">
<div class="form-group removeclass0">
    <div class="col-sm-6 nopadding">
        <div class="form-group">
            <input type="text" class="form-control dateKey" name="dateKey[]" value="revision">
        </div>
    </div>
    <div class="col-sm-6 nopadding">
        <div class="form-group">
            <div class="input-group">
                <input type="text" class="form-control dateValue" name="dateValue[]" value="2010-09-20">
                <div class="input-group-btn"> 
                    <button class="btn btn-danger" type="button" onclick="remove_date_fields(0);"> 
                        <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> 
                    </button>
                </div>
            </div>
        </div>
    </div>
    <div class="clear"></div>
</div>
<div class="form-group removeclass1">
    <div class="col-sm-6 nopadding">
        <div class="form-group"> 
            <input type="text" class="form-control dateKey" name="dateKey[]" value="publication">
        </div>
    </div>
    <div class="col-sm-6 nopadding">
        <div class="form-group">
            <div class="input-group"> 
                <input type="text" class="form-control dateValue" name="dateValue[]" value="2008-05-21">
                <div class="input-group-btn"> 
                    <button class="btn btn-danger" type="button" onclick="remove_date_fields(1);"> 
                        <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> 
                    </button>
                </div>
            </div>
        </div>
    </div>
    <div class="clear"></div>
</div>

这是JSFiddle: https ://jsfiddle.net/mleontenko/mmk9zo4L/

我需要遍历这种形式并将dateKey和dateValue对存储到一个看起来像这样的数组中:

[
    {
        "dateKey":"revision",
        "dateValue":"2010-09-20"
    },
    {
         "dateKey":"publication",
         "dateValue":"2008-05-21"
    }
]

使用jQuery或纯JavaScript的最佳方法是什么?

$( document ).ready(function() {
    var keys = [];
    var values = [];
    var res = [];
    $.each($("#date_fields").find(".dateKey"), function(i, key) {
            keys[i] = $(".dateKey:eq("+i+")").val();
    });

    $.each($("#date_fields").find(".dateValue"), function(i, value) {
      values[i] = $(".dateValue:eq("+i+")").val();
    });


    $.each($("#date_fields").find(".dateValue"), function(i) {
      res[i] = {"dateKey" : keys[i], "dateValue": values[i]};
    });
    $("#result").text(JSON.stringify(res));
});

JSFiddle: 工作的js小提琴

暂无
暂无

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

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