2017-01-11 88 views
0

有其忽略周末和不允许用户选择周六或周日的网页。我想要启用这一功能,并在进行互联网搜索的同时,发现下面给出的一段代码,我认为可能会导致这种情况。问题是我不知道要评论哪条线,或者我必须做些什么改变才能启用周末。请帮助使周末在日期选择器

function datepick() 
{ 
    var weekend_strtday = <?php echo $this->weekendDatailsArr[0]['weekendstartday']; ?>; 
    var weekend_endday = <?php echo $this->weekendDatailsArr[0]['weekendday']; ?>; 
    $('#from_date').datepicker({ 
        beforeShowDay: function(date) { 
         var day1 = date.getDay(); 
         return [(day1 != weekend_strtday && day1 != weekend_endday)]; 
        }, 
    $('#to_date').datepicker({ 
        beforeShowDay: function(date) { 
         var day2 = date.getDay(); 
         return [(day2 != weekend_strtday && day2 != weekend_endday)]; 
        }, 
+0

请你像粘贴HTML完整的代码? –

+0

这是面糊回答。 –

+1

只需从代码中删除'beforeShowDay'选项即可。 –

回答

0

要使用此方法,您需要添加JQuery UI,JQUery和JQUery基本主题css。

这里是一个修改datepick功能,将做到这一点。

里面datepick()这些变量存储工作日 0(sunday) - 6(sataurday)这是不能被使用选择。

var weekend_strtday = 0; 
var weekend_endday = 6; 

里面的beforeShowDay功能

采用一个日期作为参数,并且必须以返回一个数组 的函数:

[0]:真/假表示是否这日期可选

[1]:要添加到日期单元格的CSS类名称或默认为“”的 演示文稿

[2]:在此日期

该函数的调用的每一天在日期选择器之前,它是显示 可选弹出工具提示。

这里更多信息检查

http://api.jqueryui.com/datepicker/#option-beforeShow

beforeShowDay: function(date) { 
    var day1 = date.getDay(); 
    return [(day1 != weekend_strtday && day1 != weekend_endday)]; 
} 

我们正在检查当天,如果它等于周末,并传回第一个索引数组作为true/false这表明如果这一天是可选择或不可以。

function datepick() 
 
{ 
 
    var weekend_strtday = 0; 
 
    var weekend_endday = 6; 
 
    $('#from_date').datepicker({ 
 
     beforeShowDay: function(date) { 
 
     var day1 = date.getDay(); 
 
     return [(day1 != weekend_strtday && day1 != weekend_endday)]; 
 
     } 
 
    }); 
 
    
 
    $('#to_date').datepicker({ 
 
     beforeShowDay: function(date) { 
 
     var day2 = date.getDay(); 
 
     return [(day2 != weekend_strtday && day2 != weekend_endday)] 
 
     } 
 
    }); 
 
    
 
} 
 
datepick();
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
<form> 
 
    From_date: <input id="from_date" type="text"> 
 
    To _date: <input id="to_date" type="text"> 
 
</form>

UPDATE

要显示所有你只需要从配置中删除beforeShowDay的日子。

只需选择输入$('#from_date')并调用datepicker();方法。

$('#from_date').datepicker(); 
$('#to_date').datepicker(); 

检查下面的代码片段,

$('#from_date').datepicker(); 
 
$('#to_date').datepicker(); 
 
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
<form> 
 
    From_date: <input id="from_date" type="text"> 
 
    To _date: <input id="to_date" type="text"> 
 
</form>

+1

Nadir-laskar:请阅读问题,希望启用所有日子(所有与周末的日子都应启用),并且在您的代码片段SUNDAY和SATURDAY中禁用。这不是问题的答案。 – Draval

+0

谢谢你的回复,但即使你的解决方案忽略了周末,也不允许我选择周末。我想启用此功能,以便我可以选择任何日期。 – Sabha

+0

在这种情况下,从上面的代码中删除beforeShowDay。 –

相关问题