【发布时间】:2010-05-18 17:12:16
【问题描述】:
我正在使用这个date picker from jqueryui。
如果你看那个页面,你会发现他们刚刚写了一个这样的函数:
$(function() {
$("#datepicker").datepicker();
});
</script>
但我想在一个文本框点击事件上打开我的日期选择器。
所以我写了这个:
$("#datepicker").datepicker();
在我在文本框 onclick 事件上调用的一个函数中。
但是,这里有一个问题。
我只有在第二次单击文本框时才获得日期选择器。
如果我在页面加载后第一次单击,则日期选择器不会出现,但当我第二次单击时,日期选择器就会出现。
为什么?我可以在第一次点击时做到吗?
是的,如果我将第一个代码放入我的函数中,我知道这已经完美地发生了。
编辑:
现在我将向大家解释我到底在做什么。
我的要求是这样的:
1)当我第一次选择日期时。日历中应禁用今天之前的日期。
2) 现在,当我在日历中第二次选择日期时,日期应从前一个日期后一天开始。
我是这样写的……
$(function() {
$('#from').datepicker({
defaultDate: "+5d",
changeMonth: true,
numberOfMonths:1 ,
minDate:"+0d",
dateFormat: 'DD, MM d, yy',
onSelect: function(selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate";
var instance = $(this).data("datepicker");
var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
});
这对一个要求非常有效,
但是对于第二个要求,我需要先检查是否有任何文本框值。如果有,则
它应该选择直接 +1 到该日期,并且应该禁用以前的日期。
如何做到这一点?
【问题讨论】:
-
不确定为什么要将它放在单独的函数中?我还是 jQuery 的新手,但我认为
.datepicker()实际上将它添加到 onclick 事件中,所以应该没有理由将它添加到您自己的自定义 onclick 事件中? -
@dusk ....是的...我正在尝试自定义 onclick 事件.....请参阅我对 @baloo 的评论 ....你明白我为什么要尝试添加 onclick自定义事件...
标签: jquery jquery-ui datepicker