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

Здесь я должен динамически создавать старшую диаграмму на основе динамического идентификатора, который генерируется из индекса ++. когда я нажимаю кнопку submit1, диаграмма будет создаваться динамически. Снова, когда я нажимаю кнопку загрузки, массив будет отображаться в консоли на основе созданного идентификатора. Когда я поддерживаю консоль, он отображается в виде массива, подобного [$ ('# chart-0'), $ ('# chart-1')], который я создал динамически, в то же время, когда я жестко закодировал тот же массив и утешил его показом как созданный график [r.fn.init (1), r.fn.init (1)], здесь то, что мне нужно, это когда я утешаю ('console.log (strreplace)') созданный массив также должен отображаться в виде диаграммы, как и значение harcoded (console.log (elements)). Вот код ниже

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script src="https://code.highcharts.com/highcharts.js"></script>
  <input type="button" id="download"  value="download" /> click to console
  <div><button id="button1" class="button1">submit1</button></div>

Сценарий

$(document).ready(function() {
    var index = 0;
    var id = [];
  $('#button1').on('click', function() {
    $('body').append($("<div id='chart-" + index + "'></div>"));

    Highcharts.chart('chart-' + index, {
        series: [{
            data: [1, 2, 3]
        }]
    });
    var temp="$('#chart-"+index+"')";
        id.push(temp);
        console.log('chart' + index);

    index++;
});
 $('#download').on('click', function() {
    var string = JSON.stringify(id);
var strreplace = string.replace (/"/g,'');
 console.log(strreplace); 
 var elements = [$('#chart-0'),$('#chart-1')];
 console.log(elements); 

});
}); 

1 Ответ

0 голосов
/ 05 ноября 2018

JavaScript не работает таким образом, после замены "" код внутри не будет вызываться. Чтобы получить желаемый результат, вы должны использовать eval, но это настоятельно не рекомендуется: что делает eval и почему это зло?

$('#download').on('click', function() {
    console.log(eval(id[0]));
    var elements = [$('#chart-0'), $('#chart-1')];
});

Живая демоверсия: http://jsfiddle.net/BlackLabel/mw21utbk/

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