Javascript Jquery日期选择器的Execute.bind事件onLoad
我正在使用 我设置了一个开始和结束日期选择器,这样当选择开始日期时,它会将相同的日期指定给结束日期,而结束日期确保其日历不允许选择开始日期之前的任何日期 非常有效,除非您选择结束日期而不触及开始日期,您可以在开始日期之前设置结束日期。不好Javascript Jquery日期选择器的Execute.bind事件onLoad,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我正在使用 我设置了一个开始和结束日期选择器,这样当选择开始日期时,它会将相同的日期指定给结束日期,而结束日期确保其日历不允许选择开始日期之前的任何日期 非常有效,除非您选择结束日期而不触及开始日期,您可以在开始日期之前设置结束日期。不好 $(function() { $('.date-pick').datePicker({startDate:'2000-01-01', clickInput:true}) $('#start-date').bind('dpClosed'
$(function()
{
$('.date-pick').datePicker({startDate:'2000-01-01', clickInput:true})
$('#start-date').bind('dpClosed', function(e, selectedDates) {
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#end-date').dpSetStartDate(d.addDays(0).asString()).dpSetSelected(d.asString()).val($(this).val());
}
});
});
因为我使用PHP预先填充输入字段,所以我只想触发$'end-date'.dpSetStartDate,以便在加载文档时更新结束日期。目前它只在$'start-date'更新。绑定'dpClosed',function,selectedDates{
我该怎么做
谢谢
Tim如果我理解正确,您正在尝试确保用户在“结束日期”字段中输入的日期在他们在“开始日期”字段中输入的日期当天或之后 为此,您需要为两个日期选择器绑定到dpClosed事件,并运行类似以下逻辑伪代码的操作:
var start = getSelectedStartDate();
var end = getSelectedEndDate(); //you'll need to write these functions, but you get the idea
if (end < start) {
// set the end date field to the selected start date
$("#end-date").dpSetSelected(start); //not sure if this is the only thing you have to do, but again, you get the idea
}
因此,这里的想法是,当用户在任一字段中选择日期时,如果结束日期早于开始日期,则开始日期将被放置在结束日期字段中。不幸的是,您不能仅仅触发事件,因为您正在尝试从参数中选择日期……但是,还有另一种方法可以获取该数据:。使用t然后,您可以在任何时候立即更新结束日期范围,如以下所示:
$(function() {
$('.date-pick').datePicker({startDate:'2000-01-01', clickInput:true});
$('#start-date').bind('dpClosed', function(e, selectedDates) {
var d = $('#start-date').dpGetSelected()[0];
if (d) {
d = new Date(d);
$('#end-date').dpSetStartDate(d.addDays(0).asString()).dpSetSelected(d.asString()).val($(this).val());
}
}).trigger('dpClosed'); //call that event handler we just bound
});
.$function{};是绑定到document.ready的快捷方式。在文档准备就绪之前,其中的所有内容都不会执行。请澄清您的问题好吗?抱歉…我把自己弄糊涂了。我要做的就是触发$'end-date'.dpSetStartDate,以便在加载文档时更新结束日期。目前,它只在$'start-date'更新。bind'dpClosed',functione,selectedDates{Hello Brandon。谢谢你的回答。这当然会起作用,但我只是尝试在页面加载时执行$'end-date'。而不仅仅是当用户触发$'start-date'。绑定'dpClosed',functione,selectedDates{。这有意义吗?对不起,我不太擅长jQuery。太棒了!!!我原以为有更聪明的方法可以做到这一点,但这真是太棒了!这正是我所需要的。祝你周末愉快!