Javascript Jquery Datepicker-基于第一个日期自动填充日期,无需选择

Javascript Jquery Datepicker-基于第一个日期自动填充日期,无需选择,javascript,jquery,laravel,datepicker,Javascript,Jquery,Laravel,Datepicker,下面我有一个2日期选择器,用户必须选择它们,然后 第二个日期选择器将根据日期选择器1更改最小日期 但我的目标是在datepicker1中设置第三个日期,在datepicker1中设置第七个日期 不选择自动的日期选择器2 到目前为止,我可以显示第一个日期选择器和最后一个可用的日期选择器 第三天的日期,但我仍然无法实现第二天的日期 日期选择器7: 有什么建议吗 这是密码 $document.readyfunction{ var数组=[15-01-2020,18-01-2020]; 函数includ

下面我有一个2日期选择器,用户必须选择它们,然后 第二个日期选择器将根据日期选择器1更改最小日期 但我的目标是在datepicker1中设置第三个日期,在datepicker1中设置第七个日期 不选择自动的日期选择器2

到目前为止,我可以显示第一个日期选择器和最后一个可用的日期选择器 第三天的日期,但我仍然无法实现第二天的日期 日期选择器7:

有什么建议吗

这是密码

$document.readyfunction{ var数组=[15-01-2020,18-01-2020]; 函数includeDatedate{ var dateStr=jQuery.datepicker.formatDate'dd-mm-yy',date; //日期0=周日和6=周六 return date.getDay!==0&&array.indexOfdateStr===-1; } 函数getTomorrowdate{ 返回新的Datedate.getFullYear、date.getMonth、date.getDate+1; } $'datepicker1'。日期选择器 { 默认日期:+1d, 是的, showOtherMonths:是的, 变化月:对, 选择OtherMonths:true, 要求:正确, showOn:聚焦, 月数:1, minDate:1, beforeShowDay:functiondate{ 返回[包括日期]; }, maxDate:functionmax{ var nextAvailable=新日期; var计数=0; var-extra=0; whilecount datepicker2

更新:起初,我认为答案代码有一个bug,但我并没有真正查看它,而是从上一个答案中提供给您的。但是在再次查看了旧代码之后,我意识到旧代码没有bug,因为datepicker类在每次初始化date picker对象时都会被删除。因此,我更新了这个答案以反映这一点

对于这个代码,它与我给您的其他代码类似。它只是说,当一个部门的日期采集器是不同的。然而,我将其注释为代码。对于第三个日期选择器,我在第一个maxDate函数为第一个日期选择器运行时编写该日期选择器,然后在第二个日期选择器函数maxDate函数运行时编写该日期选择器。由于您不希望用户对第三个日期选择器执行任何操作,除非看到它,所以我使用除法而不是输入字段作为第三个日期选择器的占位符。他们仍然可以选择日期,但它不会做任何事情。您可能可以为这些日期添加样式,使其看起来选定和未选定状态相同。此外,还可以添加工具提示

对于这个答案,我也给你们两个版本。第二个版本优化得更好,更灵活。版本1和版本2是相同的代码。尽管如此,第二个版本将3个日期选择器的jQuery对象分配给3个变量,这样每次需要使用这些分区时,jQuery都不会再次查找这些分区对象。此外,从一个地方更改它们的命名上下文也更容易

试着选择第一天,你会看到这几天会动态变化。另外,如果你参考了我的任何答案,发现了其中的任何错误,请随时在评论中通知我这些错误。多谢各位

第1版: $document.readyfunction{ var数组=[15-01-2020,18-01-2020]; //在此处存储datepicker3的日期 var dp3=[]; 函数includeDatedate{ var dateStr=jQuery.datepicker.formatDate'dd-mm-yy',date; //日期0=周日和6=周六 return date.getDay!==0&&array.indexOfdateStr===-1; } 函数getTomorrowdate{ 返回新的Datedate.getFullYear、date.getMonth、date.getDate+1; } 函数dp2ini{ 变量from=$'datepicker1'。日期选择器'getDate'; //可以像这样获得日期差异,而无需解析日期字符串。 var date_diff=Math.ceilfrom-新日期/86400000; /* *对于输入字段,必须删除hasDatepicker类 *使选项在重新初始化时生效。可以 *也可以使用datepicker的destroy选项完成 *$'datepicker2'.datepickerdestroy.然而,看起来, *在这种情况下,删除其类的速度更快。 * *另一方面,如果datepicker小部件是一部分 *或者一个部门,它必须被销毁为html *因为小部件作为html内容放置在该分区中, *只需从该分区中删除hasDatepicker类 *将导致重新初始化程序写入第二个datepicker小部件。 * *在一个只包含选取者的分区中 *对象,将HTML设置为空白会更快 *并删除hasDatepicker类。另一方面, *对于更复杂的划分,最好使用, *datepicker中的销毁选项。 */ $'datepicker2'.val.removeClasshasDatepicker; $'datepicker2'。日期选择器{ 是的, showOtherMonths:是的, 变化月:对, 选择OtherMonths:true, 要求:正确, showOn:聚焦, 月数:1, minDate:date_diff+1, beforeShowDay:functiondate{ 返回[包括日期]; }, maxDate:functionmax{ var nextAvailable=$'datepicker1'。datepicker'getDate'; var计数=0; var-extra=0; whilecount 日期选择器2


你能详细说明一下在datepicker1中设置第三个日期,在DatePicker2中设置第七个日期,而不选择Auto吗?当然可以。第一个日期选择器min date是从明天开始,maxdate是3天,不包括节假日和周日,而第二个日期选择器mindate是基于第一个日期选择器date,maxdate是7天,不包括节假日和周日。我只想要最后的3号和7号
h日期选择器输入中显示日期,但不选择它们。两个输入都不应可用于只读选择。因此,第一个日期选择器的值应从今天开始为1月3日14日,第二个日期选择器的值应从14日开始为1月22日,7个工作日?@MayankPatel是的,但因为我在数组中添加了1月15日和18日作为假日,它将跳过这些日子,1月24日假设是第二个日期选取者的第7天。你不希望假日和星期日会删除15日、18日和19日。从第一个日期选择器14日开始,第7天怎么可能是1月24日?是23号。对吧?该死,这真的很有魅力!!非常感谢兄弟: