如何使用Javascript提取和解析复杂日期字段的四个部分,以便在其他字段中使用



多亏了这里的一些帮助,我才能够走得更远。

我试图提取用户输入的日期字段的四个部分,并使用它们在Knack.com数据库中的同一对象中创建4个不同的值。

用户输入包含"开始日期"、"开始时间"、"结束日期"、"结束时间"的复杂日期。在我的对象中,我为这四个值都设置了字段。

我想将这些字段设置为提取的值,基于这里的建议,我已经解析了它,但是在JSON中得到了意想不到的值。

?

$(document).on('knack-record-create.view_222', function(event, view, record) {
     
  // use data from inserted record
     
 
console.log(record);
 
    var enteredDate = $("#view_222-field_302_raw").val();
     
    var getData = JSON.parse( enteredDate );
 
alert(getData.date); //output: 02/08/2013
alert(getData.hours); //output: 2
alert(getData.minutes); //output: 0
alert(getData.am_pm); //output: pm
 
for(i=0;i<getData.to.length;i++)
{
    alert(getData["to"][i].date); //output: 02/11/2013
    alert(getData["to"][i].hours); //output: 2
    alert(getData["to"][i].minutes); //output: 0
    alert(getData["to"][i].am_pm); //output: pm
}
data.field_74 = { 
      date: Data.date // start date
     
  }
   
data.field_200 =  { // start time
      hours: Data.hours, // start hours
      minutes: Data.minutes, // start minutes
      am_pm: Data.am_pm, // start hours
                 
  }
   
data.field_201 = { // end date
      date: Data[to][i].date // start date
                 
  }
  
data.field_134 = { // end time
      hours: Data[to][i].hours, // start hours
      minutes: Data[to][i].minutes, // start minutes
      am_pm: Data[to][i].am_pm, // start am_pm
                 
  }
     
  // update the record
  $.ajax({
    url: "https://api.knackhq.com/v1/objects/object_8/records/" + record.id,
    type: "PUT",
    headers: {"X-Knack-Application-Id": "xxx", "X-Knack-REST-API-Key":"xxx"},
    data: data,
    success: function(response) { 
         
      console.log('Record updated!');
    }   
  });
     
});

var data = {
  "date":"02/08/2013",
  "hours":2,
  "minutes":0,
  "am_pm":"pm"
  "to":{
    "date":"02/11/2013"
    "hours":2,
    "minutes":0,
    "am_pm":"pm"
  },
}

您可以像

那样解析上面的代码
var getData = JSON.parse(data);
alert(getData.date); //output: 02/08/2013
alert(getData.hours); //output: 2
alert(getData.minutes); //output: 0
alert(getData.am_pm); //output: pm
for(i=0;i<getData.to.length;i++)
{
    alert(getData["to"][i].date); //output: 02/11/2013
    alert(getData["to"][i].hours); //output: 2
    alert(getData["to"][i].minutes); //output: 0
    alert(getData["to"][i].am_pm); //output: pm
}

最新更新