Я пытался сохранить значение текстового поля, которое прикреплено к динамически созданному объекту диаграммы, но оно не работает, даже если я использую localStorage. Mycode
Простите за беспорядок в коде, но если вы добавите диаграмму, она создаст текстовое поле рядом с ним, но не сохранит все, что находится в нем.
function createChart(dynamicData = '',number ='',dynamicval= '') {
$('#super').append('<div id="bton"><button type="button" class="design_button" id="chart_'+number+'">✖</button><input id="text'+number+'" type = "textbox"/><div id="settings'+number+'"></div></div>');
var value = document.getElementById("text"+number).value;
localStorage.setItem("input",value);
if(dynamicData == ''){
var storeData = {
'csvURL' : urlInput.value,
'firstRowAsNames' : false,
};
localStorage.setItem('chart_'+number, JSON.stringify(storeData));
}else{
var storeData = dynamicData;
var value = dynamicval;
numbercnt = localStorage.getItem('chart_total');
}
var chartData = {
csvURL: ipaddress + storeData.csvURL + extension,
firstRowAsNames: storeData.firstRowAsNames,
complete: function(csv) {
csv.series[0].data.forEach(function(point, i) {
csv.series[0].data[i] = {
x: point[0],
y: point[1],
customInfo: csv.series[1].data[i][1]
}
})
csv.series.pop()
}
};
Highcharts.chart('settings' + number,{
chart: {
type: 'line'
},
title: {
text: storeData.csvURL + ' Slip'
},
dateTimeLabelFormats: {
millisecond: '%H:%M:%S.%L',
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%e. %b',
week: '%e. %b',
month: '%b \'%y',
year: '%Y'
},
data: chartData,
series: [{
name: 'Slip'
}],
yAxis: {
plotLines: [{
value: 0,
color: 'black',
width: 2,
zIndex: 1
}]
},
plotOptions: {
series: {
color: 'red',
negativeColor: 'green'
}
},
tooltip: {
pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>Last Updated: <b>{point.customInfo}</b>'
}
});
numbercnt++;
localStorage.setItem('chart_total', numbercnt);
}
Выше, когда диаграмма создается, и ниже, когда она загружается
function loadDynamicData(){
var length = localStorage.getItem('chart_total');
for(var i =1;i<=length ;i++){
if(localStorage.getItem('chart_'+i)){
var dynamicData = JSON.parse(localStorage.getItem('chart_'+i));
console.log(dynamicData)
createChart(dynamicData,i);
var dynamicval =localStorage.getItem("input");
console.log(dynamicval)
//if(localStorage.getItem("input") === null){
// return "";
//}
//return localStorage.getItem("input");
}
}
}
loadDynamicData();
});