【问题标题】:Getting values from Object, putting them in one array separated by commas从 Object 中获取值,将它们放在一个以逗号分隔的数组中
【发布时间】:2017-03-29 20:27:41
【问题描述】:

最近我问了一个类似的问题,但我会删除它,因为它不够清楚,我的错。

我需要从多个动态对象中获取年月日值

Object {year: 2017, month: 1, date: 26}    
Object {year: 2017, month: 2, date: 5}
Object {year: 2017, month: 2, date: 12}
Object {year: 2017, month: 2, date: 19}
Object {year: 2017, month: 2, date: 26}

我需要像这样将它们放在数组中:

[26/1/2017, 5/2/2017, 12/2/2017, 19/2/2017, 26/2/2017]

然后,使用该数组将这些值放入输入隐藏值中,如下所示:

<input type="hidden" value="26/1/2017, 5/2/2017, 12/2/2017, 19/2/2017, 26/2/2017">

我设法获取值并将它们推送到数组中,但我无法让它们正常工作,这是我的代码:

           // Note: This code is in each function

            // This holds the objects
            var sundayData = $(this).data();

            // I get date, month and year values
            var dayAll = sundayData['date'];
            var monthAll = sundayData['month'];
            var yearAll = sundayData['year'];

            // Here, I putting them in the right format
            var sundayDatesAll = dayAll + '/' + (monthAll + 1) + '/' + yearAll;
            //
            var sundayDate = [];

            // Here, I push the dates in sundayDate
            sundayDate.push(sundayDatesAll);

            $('input').val(sundayDate.join());

但是,像这样,它会返回这样的分隔数组:

["26/2/2017"]
["5/3/2017"]
["12/3/2017"]
["19/3/2017"]
["26/3/2017"]

输入中只有一个值,我认为它的最后一个值是 26/3/2017

感谢任何帮助,谢谢...

【问题讨论】:

  • 使用 concat() 方法合并数组

标签: jquery arrays object join input


【解决方案1】:

您需要获取输入的旧值,将其拆分,然后将新日期添加到其中,而不是每次都从一个空数组开始。

var sundayDate = $('input').val().split(',');
// Here, I push the dates in sundayDate
sundayDate.push(sundayDatesAll);
$('input').val(sundayDate.join(','));

你可以把它组合成:

$('input').val(function(i, oldDates) {
    var sundayDate = oldDates.split(',');
    sundayDate.push(sundayDatesAll);
    return sundayDate.join(',');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多