Как сохранить значение сброса в качестве новых данных в моем массиве? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть функция удаления, и я хочу сохранить значение как новые данные в моем массиве, возможно ли это?

    series: [{
                name: 'Temperature',
                type: 'spline',
                connectNulls: true,
                cursor: 'pointer',
                data: [13, 54, 35, 24, 65, 81,13, 54, 35, 24, 65, 81,13, 54, 35, 24, 65, 81],
                tooltip: {
                    valueSuffix: ' °C',
                },
                point: {
            events: {
            drag: function() {
              document.getElementById('point-temp').value = (Math.round(this.y));
            }
          }
        },
            }]


This is how I show it in an input field :

    <input placeholder="new Temperature" id="point-temp" type="text" class="field"  value="">

This is the button to store the new point value in my array.

     <button class="btn"  id="save-data">Save to data</button>

и это функция для добавления новых данных в массив, но она не работает

document.getElementById('save-data').addEventListener('click', function(){
    document.getElementById('point-temp').value;
    chart.series[0].data(point);
});

1 Ответ

0 голосов
/ 04 апреля 2019

Вам необходимо добавить событие click к кнопке «Сохранить» и сохранить значение из ввода в правильном месте в массиве данных:

var data = [10, 20, 10, 20, 10, 20],
    newData = data.slice();

Highcharts.chart('container', {
    chart: {
        animation: false
    },
    plotOptions: {
        series: {
            point: {
                events: {
                    drop: function() {
                        var inputEl = document.getElementById('point-temp');
                        inputEl.value = this.y;
                        inputEl['data-index'] = this.index;
                    }
                }
            }
        },
    },
    series: [{
        data: data,
        draggableY: true
    }]
});


document.getElementById('save-data')
    .addEventListener('click', function() {
        var inputEl = document.getElementById('point-temp');
        newData[inputEl['data-index']] = Math.round(Number(inputEl.value));
    });

Демонстрационная версия : http://jsfiddle.net/BlackLabel/3m04f9dz/

API : https://api.highcharts.com/highcharts/series.line.point.events.drop

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...