当我的JQuery日期选择器选择日期和日期时,我需要调用这个函数:
function showUser() {
// Retrieve values from the selects
var DateFrom = document.getElementById('DateFrom').value;
var DateTo = document.getElementById('DateTo').value;
if (dtd=="" || dtm == "" || dfd == "" || dfm == "") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/StreetHailDrivers.php?DateFrom="+DateFrom+"&DateTo="+DateTo,true);
xmlhttp.send();
}
这是我的日期选择器:
$(function() {
$('.datepicker').datepicker({ onSelect: showUser(), minDate: -90, maxDate: "+1D" });
});
如果我取出onSelect: showUser()
datepicker工作正常,但没有发布数据,但如果我包含onselect,则datepicker不起作用。没有下降。
我还尝试了html中的onchange事件:
<input type="text" class="datepicker" name="DateTo" id="DateTo" onchange="showUser()" />
我该怎么办才能让它发挥作用?
答案 0 :(得分:4)
的 jsFiddle Demo
强> 的
主要问题是函数showUser未在分配了datepicker的作用域可用的作用域中定义。结果很可能是您在控制台中看到的错误:“未捕获的ReferenceError:未定义showUser”。导致错误时,将暂停所有脚本执行并且不构造datepicker。您应该确保datepicker对象可以访问此函数。
我相信它期待指向该参数的函数的指针。因此它应该是
onSelect: showUser
使用onSelect: showUser()
会将onSelect
的值设置为未定义的showUser
的返回值。