• Demos
    • JavaScript Charts
    • JavaScript StockCharts
  • Download/NPM
    • Download CanvasJS
    • Install via NPM
  • Integrations
    Front End Technology Samples
    • React Charts
    • Angular Charts
    • Vue.js Charts New!
    • jQuery Charts
    • Dashboards
    Server Side Technology Samples
    • PHP Charts
    • Python Charts New!
    • ASP.NET MVC Charts
    • Spring MVC Charts
    • JSP Charts
  • License
  • Blog
  • Docs
    • Chart Documentation
    • StockChart Documentation
  • Support Forum
    • Chart Support
    • StockChart Support
  • My Account
My Account
  • KEY FEATURES
    • StockChart with Numeric Axis
    • StockChart with Date-Time Axis
    • StockChart with Annotation / Indexlabel
    • StockChart with Print & Export as Image
    • Multi-Series StockChart with Navigator
    • StockChart with Async Data Loading
    • StockChart with Price & Volume
    • StockChart with Tooltip & Crosshair Syncing
    • StockChart with Combination Charts
    • Dynamic / Live StockChart
    • Dynamic / Live StockChart with StripLine
    • Stock Chart with DatePicker
  • CHART TYPES
    • StockChart with Line using JSON Data
    • StockChart with Spline Chart
    • StockChart with Area Chart
    • StockChart with Spline Area & Navigator
    • StockChart with Candlestick & Range Selector
    • StockChart with OHLC using JSON Data
    • StockChart with Range Spline Area
  • TECHNICAL INDICATORS
    • StockChart with SMA
    • StockChart with EMA
    • StockChart with MACD
    • StockChart with Technical Indicators

JavaScript StockChart with jQueryUI DatePicker

Download JavaScript StockChart Samples
  • JavaScript StockChart Samples
  • JavaScript Chart Samples
  • React Chart Samples
  • Angular Chart Samples
  • Vue.js Chart Samples
  • jQuery Chart Samples
  • PHP Chart Samples
  • Python Django Chart Samples
  • ASP.NET Chart Samples
  • JSP Chart Samples
  • Spring MVC Chart Samples
  • Dashboard Samples

DatePicker makes it easier to enter date in inputfields by letting you select a date from a calendar. In the below example we are integrating a jQuery UI DatePicker with input fields. Try changing the range using DatePicker in inputfields.

Try Editing The Code

Download Copy JSFiddle
window.onload = function () {
  var dataPoints1 = [], dataPoints2 = [] ;
  var stockChart = new CanvasJS.StockChart("chartContainer", {
    title:{
      text:"StockChart with jQueryUI DatePicker",
      fontFamily: "helvetica"
    },
    subtitles: [{
      text: "Click on inputfields to update the range using datepicker",
      fontFamily: "helvetica"
    }],
    rangeChanged: function(e) {
      if(e.source == "inputFields") {
        hideDatePicker();
      }
    },
    charts: [{
      axisX: {
        crosshair: {
          enabled: true,
          snapToDataPoint: true
        }
      },
      axisY: {
        prefix: "€"
      },
      toolTip: {
        shared: true
      },
      data: [{
        type: "ohlc",
        name: "Litecoin Price",
        yValueFormatString: "€#,###.##",
        dataPoints : dataPoints1
      }]
    }],
    rangeSelector: {
      inputFields: {
        startValue: new Date(2018, 02, 01),
        endValue: new Date(2018, 04, 01)
      }
    },
    navigator: {
      data: [{
        dataPoints: dataPoints2
      }]
    }
  });
  jQuery.getJSON("https://canvasjs.com/data/docs/ltceur2018.json", function(data) {
    for(var i = 0; i < data.length; i++){
      dataPoints1.push({x: new Date(data[i].date), y: [Number(data[i].open), Number(data[i].high), Number(data[i].low), Number(data[i].close)]});
      dataPoints2.push({x: new Date(data[i].date), y: Number(data[i].close)});
    }
    stockChart.render();
    //add jQuery UI DatePicker to inputFields
    jQuery(".canvasjs-input-field").each(function(index) {
      min = new Date(dataPoints2[0].x);
      max = new Date(dataPoints2[dataPoints2.length-1].x);
      jQuery(this).datepicker({
        defaultDate: index === 0 ?  min : max,
        minDate: index === 0 ? min : new Date(stockChart.rangeSelector.inputFields.get("startValue")),
        maxDate: index == 0 ? new Date(stockChart.rangeSelector.inputFields.get("endValue")) : max,
        dateFormat: "yy-mm-dd",
        onSelect: function(dateText) {
          var event = new Event("change");
          if(index === 0) {
            jQuery(jQuery(".canvasjs-input-field")[0]).val(new Date(dateText));
            jQuery(".canvasjs-input-field")[0].dispatchEvent(event);
            jQuery(jQuery(".canvasjs-input-field")[1]).datepicker("option","minDate", new Date(dateText) );
          } else {
            jQuery(jQuery(".canvasjs-input-field")[1]).val(new Date(dateText));
            jQuery(".canvasjs-input-field")[1].dispatchEvent(event);
            jQuery(jQuery(".canvasjs-input-field")[0]).datepicker("option","maxDate", new Date(dateText) );
          }
        }
      });
    });
    jQuery(window).on("blur", function(){
      hideDatePicker();
    });
  });
  function hideDatePicker() {
    jQuery(".canvasjs-input-field").each(function() {
      jQuery(this).datepicker("hide");
    });
  }
}                            

Related Customizations in StockChart

  • inputFields.valueFormatString
  • inputFields.startValue
  • inputFields.endValue
  • Date-Time Axis
  • Quick Links

    • Chart Docs
    • StockChart Docs
    • About Us
    • FAQs

    Server Side Technologies

    • ASP.NET MVC Charts
    • PHP Charts
    • JSP Charts
    • Spring MVC Charts

    Front Side Technologies

    • JavaScript Charts
    • jQuery Charts
    • React Charts
    • Angular Charts
    • JavaScript StockCharts

    Contact

    • Fenopix, Inc.
    • 2093 Philadelphia Pike,
    • #5678, Claymont,
    • Delaware 19703
    • United States Of America

    ©2025 Fenopix Privacy Policy Cookies Policy Careers