[英]How to set javascript Date object in data- attributes
我正在使用Google图表在Rails项目中绘制图表。
图表数据是在模型中生成的。
def my_chart_data
[
['date', 'value1', 'value2'],
[Date.new(2017,1,11), 1, 2],
[Date.new(2017,1,13), 3, 5],
[Date.new(2017,1,16), 0, 7]
]
end
并认为该方法被调用。
<%= content_tag :div, "", id: "my-chart-data",
data: {rows: company.my_chart_data} %>
然后在javascript中创建图表。 在这里,我必须将日期字符串转换为Date
对象,因为ruby Date
实例已经转换为String
。
function drawMarginBalance(type) {
var array = $('#my-chart-data').data('rows');
// convert date string to date object
array = array.map(function (obj) {
if (obj[0].match(/\d{4}-\d{2}-\d{2}/)) {
return [new Date(obj[0])].concat(obj.slice(1, 3));
} else {
return obj;
}
});
var data = google.visualization.arrayToDataTable(array);
var options = {
seriesType: 'bars',
series: {1: {type: 'line'}}
};
new google.visualization.ComboChart(document.getElementById('my-chart')).draw(data, options);
}
该代码按预期运行良好。 但是我想在data-
attribute中设置一个Date
对象(不是String
)。
我该怎么做?
就像@Darkrum所说的那样,除了字符串之外,您不能在data-attribute属性内保存任何内容。 对于localStorage也是一样。 您应该确定要使用的一致格式-时间戳记或完整的UTC字符串。 当您以后需要使用该值时,将字符串或时间戳传递给新的Date()对象并使用生成的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.