0
我意識到這可能是重複的,我仍然要問的原因是一個同事有一個chartJS的折線圖。我複製了他的代碼,使它適合條形圖並稍微改變了ajax調用。代碼實際上是相同的,並且我已經對正確的語法進行了多次檢查。我正在使用一個稍微改變了的js腳本來調用jQuery函數,但是在我創建條形圖之前這仍然有效。
網頁上的腳本是:
var url = '/stats/test-stats';
$('input[name="demographics"]').on('change', function() {
console.log('changed demo to ' + this.value);
if (this.value == '/stats/conversion-stats') {
url = this.value;
// console.log(url);
}
});
$('input[name="daterange"]').daterangepicker({
opens: 'left',
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment()],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'),moment().subtract(1, 'month').endOf('month')]
}
});
$('input[name="daterange"]').on('apply.daterangepicker', function(ev, picker) {
$.getBarData(url,'Average Dwell Time',picker.startDate.format('YYYY-MM-DD'),picker.endDate.format('YYYY-MM-DD'));
});
$(document).ready(function() {
$.getBarData(url,'Average Dwell Time');
});
我已經看到了關於添加(jQuery的)不同地區或($),但我的同事並沒有做到這一點,他的作品......
這裏是我的功能是不是一個函數...
jQuery.getBarData = function(url='/stats/dwell-time-stats',label='',startDate='',endDate='') {
console.log('called');
function removeData(chart) {
chart.data.labels.pop();
chart.data.datasets.forEach((dataset) => {
dataset.data.pop();
});
chart.update();
}
$.ajax({
url: url,
method: 'GET',
dataType: 'json',
data: {
startDate: startDate,
endDate: endDate
},
success: function (d) {
window.barChart.data.labels = [];
window.barChart.data.datasets.forEach((dataset) => {
dataset.data = [];
});
$.each(d.labels,function(k,v){
window.barChart.data.labels.push(v);
});
$.each(d.recordsOne,function(k,v){
window.barChart.data.datasetOne => {
//datasetOne.label = l[0];
data.push(v);
}
});
$.each(d.recordsTwo,function(k,v){
window.barChart.data.datasetTwo => {
//datasetTwo.label = l[1];
data.push(v);
}
});
window.barChart.update();
}
});
};
由於這是從chartJS的CTX,圖表選項和數據是功能上面定義,整個腳本開頭: $(function(){'use strict';/code here /});
我會問我的同事,但他們暫時無法使用。任何幫助是極大的讚賞。
錯誤消息:
jquery.min.js:2 Uncaught TypeError: $.getBarData is not a function
at HTMLDocument.<anonymous> (test_stat:206)
at j (jquery.min.js:2)
at k (jquery.min.js:2)
(anonymous) @ test_stat:206
j @ jquery.min.js:2
k @ jquery.min.js:2
究竟哪裏出錯?這段代碼中沒有'$ .function'的實例。另外,'function'保留afaik。我懷疑你可以創建一個名爲'function'的函數。 – Carcigenicate
提供確切的錯誤信息 – charlietfl
[如何給jQuery添加一個函數?](https://stackoverflow.com/questions/1768150/how-to-add-a-function-to-jquery) – Salketer