#javascript #codeigniter #amcharts
#javascript #codeigniter #amcharts
Вопрос:
Я использую биржевой график Javascript из amcharts. Я хочу, чтобы выпадающий вид календаря отображался в поле ввода выбора периода. Пожалуйста, кто-нибудь может мне помочь, как я могу создать выпадающий календарь в полях «От» и «до» здесь?
Ответ №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/