Estoy usando highcharts para crear varios gráficos, y también tengo un selector de meses para que el usuario pueda elegir el mes para el que se mostrarán los datos en el gráfico. Cada vez que el usuario elige una fecha diferente, se carga un nuevo gráfico. Dado que 'exportar: nombre de archivo' se configura solo una vez durante la inicialización del gráfico, cada vez que el usuario usa la opción exportar como CSV, el archivo descargado tiene el nombre que se configuró durante la inicialización del gráfico.
He agregado una var en la opción 'exportar: nombre de archivo' para leer el valor del selector de mes, usando esto:
var Name = $("#date_picker").val(); exporting: {enabled: true, filename: "Monthly Report: - " + Name + "" }pero no actualiza el nombre del archivo cuando el usuario elige un mes diferente al que se configuró durante la carga de la página inicial.
También intenté agregar un botón para ejecutar el script downloadCSV y actualizar el nombre del archivo de esta manera:
var Name = $("#date_picker").val(); document.getElementById('button1').addEventListener('click', function () { highcharts.chart("report_chart").update({ events: { load: function () { this.update({ exporting: { filename: "Monthly Report - " + Name + "" } }); } } }); });pero no ha funcionado como yo quiero.
¿Hay alguna forma de actualizar dinámicamente el nombre de archivo del CSV que se exporta para que incluya el mes que el usuario eligió en el selector de fechas?
Solo necesita cambiar el nombre del archivo en chart.update :
chart.update({ exporting: { filename: "Monthly Report: 2" } });Demostración en vivo: http://jsfiddle.net/BlackLabel/1qyL0sej/
Referencia de la API: https://api.highcharts.com/class-reference/Highcharts.Chart#update