Как отобразить представление календаря в окне выбора периода amcharts?

#javascript #codeigniter #amcharts

#javascript #codeigniter #amcharts

Вопрос:

Я использую биржевой график Javascript из amcharts. Я хочу, чтобы выпадающий вид календаря отображался в поле ввода выбора периода. Пожалуйста, кто-нибудь может мне помочь, как я могу создать выпадающий календарь в полях «От» и «до» здесь?Мне нужно создать выпадающий календарь в полях from и to

Ответ №1:

@user3094124: Привет, я использую тот же код, который работает у меня, вот мой скрипт для amChart, сначала проверьте, показывает ли он предупреждение об изменении или нет, и вы должны использовать <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script> библиотеку пользовательского интерфейса jquery. `

      AmCharts.ready(function() {
        var chart = new AmCharts.AmStockChart();
        chart.pathToImages = "/amcharts/amcharts/images/";

        var dataSet = new AmCharts.DataSet();
        dataSet.dataProvider = chartDataS;
        dataSet.fieldMappings = [{fromField:"val", toField:"value"}];
        dataSet.categoryField = "date";
        chart.dataSets = [dataSet];

        var stockPanel = new AmCharts.StockPanel();
        chart.panels = [stockPanel];

        var legend = new AmCharts.StockLegend();
        stockPanel.stockLegend = legend;

        var panelsSettings = new AmCharts.PanelsSettings();
        panelsSettings.startDuration = 5;
        chart.panelsSettings = panelsSettings;

        var graph = new AmCharts.StockGraph();
        graph.valueField = "value";
        graph.type = "column";
        graph.title = "Users ";
        graph.fillAlphas = 1;
        stockPanel.addStockGraph(graph);

        var categoryAxesSettings = new AmCharts.CategoryAxesSettings();
        categoryAxesSettings.dashLength = 1;
        chart.categoryAxesSettings = categoryAxesSettings;

        var valueAxesSettings = new AmCharts.ValueAxesSettings();
        valueAxesSettings .dashLength = 1;
        chart.valueAxesSettings  = valueAxesSettings;

        var chartScrollbarSettings = new AmCharts.ChartScrollbarSettings();
        chartScrollbarSettings.graph = graph;
        chartScrollbarSettings.graphType = "line";
        chart.chartScrollbarSettings = chartScrollbarSettings;

        var chartCursorSettings = new AmCharts.ChartCursorSettings();
        chartCursorSettings.valueBalloonsEnabled = true;
        //chartCursorSettings.fullWidth = true;
        chart.chartCursorSettings = chartCursorSettings;

        var periodSelector = new AmCharts.PeriodSelector();
        periodSelector.periods = [{period:"DD", count:1, label:"1 day"},
            {period:"DD", selected:true, count:5, label:"5 days"},
            {period:"MM", count:1, label:"1 month"},
            {period:"YYYY", count:1, label:"1 year"},
            {period:"YTD", label:"YTD"},
            {period:"MAX", label:"MAX",selected:true}];
        periodSelector.position = "top";
        chart.periodSelector = periodSelector;

        /*chart.periodSelector.addListener('changed', function(){
         alert('changed');
         $( ".amChartsPeriodSelector .amChartsInputField" ).datepicker({
         dateFormat: "dd-mm-yy"
         });
         });*/

        chart.addListener('rendered' ,function (event){

            $( ".amChartsPeriodSelector .amChartsInputField" ).datepicker({
                dateFormat: "dd-mm-yy",
                //minDate: newStartDate,
                //maxDate: newEndDate,
                onClose: function() {
                    $(".amChartsPeriodSelector .amChartsInputField" ).trigger('blur');
                }
            });
        });


        chart.write("StockChartDiv");


    });
  

`

Комментарии:

1. Отображается ошибка «Неперехваченная ошибка типа: объект #<Object> не имеет метода ‘datepicker’ » при использовании в качестве вышеупомянутого скрипта, я включил jquery-ui.js библиотека тоже

2. используйте следующую ссылку `<script src=» ajax.googleapis.com/ajax/libs/jquery/1.10.2 / … > <тип сценария=»текст / javascript» src=» code.jquery.com/ui/1.10.3/jquery-ui.js «></script > <link rel=»таблица стилей» href=» code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css «>

3. Приведенный выше код работает, только если у меня одна панель, но у меня есть три панели на одном графике, поэтому, если я добавлю addListener, он не отобразит две нижние панели графика

Ответ №2:

Добавьте этот код, он поможет вам

             chart.addListener('rendered' ,function (event){ 
            $( ".amChartsPeriodSelector .amChartsInputField" ).datepicker({
                dateFormat: "dd-mm-yy",
                //minDate: newStartDate,
                //maxDate: newEndDate,
                onClose: function() {
                    $(".amChartsPeriodSelector .amChartsInputField" ).trigger('blur');
                }
            });
        });
  

`

Ответ №3:

1. Вы можете использовать средство выбора даты в пользовательском интерфейсе JQUERY.

http://jqueryui.com/datepicker/

Вот еще несколько хороших календарей, отвечающих вашим потребностям, с хорошим руководством и документами-

2.http://keith-wood.name/datepick.html

3.http://www.eyecon.ro/datepicker

Вот еще один список полезных календарей-

http://www.webdesignbooth.com/9-useful-jquery-calendar-and-date-picker-plugins-for-web-designers/