我正在尝试将一个datepicker变量传递给onclick ajax函数,然后将该函数传递给另一个将变量传递给SQL查询的ajax方法,然后将查询传递回ajax以生成图表。但是我得到了一个Uncaught TypeError:无法读取属性' target'在jquery ui中未定义。
HTML
var myLineChart;
$( document ).ready(function() {
$(function() {
$("#start").datepicker();
});
$(function() {
$("#end").datepicker();
});
});
function onClick() {
var start = $("#start");
var end = $("#end");
ajaxLineRequest(start,end);
}
$('#loadingbar').show();
$.ajax({
type: 'POST',
url: 'ajax/tribe_data.php',
data: {start:start,end:end},
dataType: 'json',
success: function (data) {
console.log(data[0]);
data = {
datasets: [{
data: data[0].datasets,
borderColor: ['rgba(255,99,132,1)'],
fill:false,
backgroundColor: [
'rgba(255,99,132,1)'
]
}],
labels: data[0].labels
};
myLineChart = new Chart(document.getElementById("tribe"), {
type: 'line',
data: data,
options: {
legend: {
display: false
},
scales:{
yAxes:[{
ticks:{
autoSkip: false
}
}]
}
}
});
},
complete: function(){
$('#loadingbar').hide();
},
error: function(xhr, status, error) {
console.log(xhr.responseText);
}
});
}
AJAX
listbox
答案 0 :(得分:2)
我很难知道在执行这个脚本的什么时候命名函数' onClick'作为事件处理程序附加,但是我已经指出了一些可以改进代码的地方。
为输入元素添加名称属性,例如
<input type = "text" id="start" name="start"/>
然后使用以下内容引用表单输入的 值 :
var start = $("#start").val();
您当前的代码将jQuery元素本身作为AJAX请求的数据项发送,而不是输入的值。