- javascript/
- Javascript Jquery Datepicker-基于第一个日期自动填充日期,无需选择
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号。对吧?该死,这真的很有魅力!!非常感谢兄弟: