按照jquery网站上的基本onSelect规范,我尝试了以下代码:
<!DOCTYPE html>
<html>
<head>
<link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.datepicker.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#datepicker").datepicker();
$('#datepicker').datepicker({
onSelect: function(dateText, inst) { alert("Working"); }
});
});
</script>
</head>
<body style="font-size:62.5%;">
<div type="text" id="datepicker"></div>
</body>
</html>
无法让它发挥作用! 最初试图让一个更复杂的东西工作,但onSelect只是没有工作,所以我回到基础,仍然不工作,任何人都知道我做错了什么?
答案 0 :(得分:42)
你没有正确使用api。不要把它弄坏,起初会让人感到困惑。
这两行都告诉datepicker小部件在元素上初始化一个datepicker:
$("#datepicker").datepicker();
$('#datepicker').datepicker({
onSelect: function(dateText, inst) { alert("Working"); }
});
你可以删除第一个,因为它没有做任何事情,除了防止第二个产生任何影响。
如果您想在初始化小部件后更改其中一个选项的值,则需要使用此API:
$('#datepicker').datepicker('option', 'onSelect', function() { /* do stuff */ });
或者,您可以使用jQuery的bind
函数附加处理程序:
$('#datepicker').bind('onSelect', function() { /* do stuff */ });
答案 1 :(得分:19)
选择日期时此代码必须有效:
$("#datepicker").datepicker({
dateFormat: 'dd/mm/yy'
}).on("changeDate", function (e) {
alert("Working");
});
答案 2 :(得分:13)
您可以尝试删除该行上方的第二个$("#datepicker").datepicker()
,然后留下:
$(document).ready(function(){
$('#datepicker').datepicker({ onSelect: function(dateText, inst) { alert("Working"); } });
});
答案 3 :(得分:0)
jQuery datepicker onSelect有时不起作用,但您可以通过调用onchange
类型的input
事件上的方法来绕过它。
function changeDate() {
$("#datepicker").datepicker(
"change",
{
alert("I am working!!");
}
);
}
将此changeDate()
方法称为 -
<div type="text" id="datepicker" onchange ="javascript:changeDate();" />