2017-05-29 109 views
0

我想编辑jquery.ui.datepicker中的beforeShowDay函数。 这是在日期选择器的 beforeShowDay线,我试图取代:禁用星期五和星期六在Datepicker

beforeShowDay: null, // Function that takes a date and returns an array with 
     // [0] = true if selectable, false if not, [1] = custom CSS class 
     name(s) or '', 
     // [2] = cell title (optional), e.g. $.datepicker.noWeekends 

我有搜索周围试图找到正确的代码,没有运气来取代它。 我发现这个小提琴; disable 1 day in datepicker

我已经编辑这个小提琴,并成功地禁用周五和周六用下面的代码:

$("#datepicker").datepicker({ 
    beforeShowDay: function(date) { 
     return [date.getDay() == 0 || date.getDay() == 1 || date.getDay() == 2 || date.getDay() == 3 || date.getDay() == 4 ] ; 
    } 
}); 

然而,当我将其复制并粘贴到jquery.ui.datepicker日历不起作用,我获取控制台错误(未捕获的SyntaxError:意外的令牌)。

我在做什么用以下替换 beforeShowDate:

beforeShowDay: function(date) { return [date.getDay() == 0 || date.getDay() == 1 || date.getDay() == 2 || date.getDay() == 3 || date.getDay() == 4 ] ; }

谁能指教一下我做错了,我怎么能得到这个正常工作?

+0

你不需要复制粘贴任何东西放入'jquery.ui.datepicker'。总是避免修改从第三方网站下载的jQuery插件。上面的代码应该进入你自己的html页面。 – vijayP

+0

嗨vijayP,我试图把这个代码放到窗体的html中,但是窗体现在不加载: '' 我不同意关于编辑beforeShowDay的jquery.ui.datepicker,因为它已经被注释掉了关于编辑的模糊线索,这意味着有一种编辑方式和 –

回答

1

你不应该编辑的jQuery UI插件直接

如果你真的想那么你必须粘贴此代码替换为空。但它不是不推荐

function(date) { 
    var show = true; 
    if(date.getDay()==6||date.getDay()==0) show=false; 
    return [show]; 
},//don't forget comma after the function 

正确的做法是在您自己的js文件中配置jquery ui date-picker时传递函数。

$("#datepicker").datepicker({ 
    beforeShowDay: function(date) { 
     var show = true; 
     if(date.getDay()==6||date.getDay()==0) show=false 
     return [show]; 
    } 
}); 
+0

的问题非常感谢,它在jquery.ui.datepicker中完美工作: 'beforeShowDay:function(date ){ var show = true; if(date.getDay()== 5 || date.getDay()== 6)show = false return [show]; },' –

+0

为了清楚起见,我将由Nadir Laskar提供的第一个代码直接插入jquery.ui.datepicker的beforeShowDate元素中,并且它正常工作。我花了2天试图找到一个解决方案,并尝试从各种小提琴,钢笔和stackoverflow几十个片段,但这是第一个实际上工作:-) fyi ....我只做一个改变;从0&6到5&6 –

2

daysOfWeekDisabled

Days of the week that should be disabled. Values are 0 (Sunday) to 6 (Saturday). Multiple values should be comma-separated. Example: disable weekends: '06' or '0,6' or [0,6].

使用daysOfWeekDisabled

$('#datepicker').datepicker({ 
    daysOfWeekDisabled: [5,6] 
}); 

Working fiddle

编辑

我在阅读和后上方约bootstarp日期选择器的回答做了错误。

的jQuery UI日期选择器试试这个

beforeShowDay: function(d) { 
    return [!(d.getDay()==0||d.getDay()==6)] 
} 

Working fiddle

+0

我试过,但日历不加载(即使清除缓存和刷新后),这就是我所做的: 我替换了这个: 'beforeShowDay:空,//函数采用一个日期,并返回 \t \t \t // [0] =真,如果可选择的,假如果没有,[1] =自定义CSS类名(多个)或'的阵列', \t \t \t // [2] =单元格标题(可选),例如。$ .datepicker.noWeekends' 有了这个: 'beforeShowDay:$( '#日期选择器')日期选择器({ daysOfWeekDisabled:[0,6] });' 也许我的实现是不正确的? –

+0

@MichaelJoseph实现将与我在我的例子中所做的相同 – Manoj

+0

您读了错误的关于jquery UI datepicker而不是bootstrap datepicker –

0

你可以试试这个,

$("#datepicker").datepicker({ 
    beforeShowDay: function(date) { 
    var day = date.getDay(); 
    return [(day != 5 && day != 6), '']; 
    } 
}); 

http://jsfiddle.net/nWAnz/238/

+0

嗨Trimantra,即周六和周日,而我想禁用周五和周六 –

+0

我更新了我的答案 –

相关问题