禁用javascript中的特定日期
disable specific dates within javascript
我有javascript函数
$(document).ready(function () {
var d = new Date();
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
today = monthNames[d.getMonth()] + ' ' + d.getDate() + ' ' + d.getFullYear();
$('#to').attr('disabled', 'disabled');
$('#from').datepicker({
defaultDate: "+1d",
beforeShowDay: DisableSpecificDates,
minDate: "+1d",
maxDate: "+3M",
dateFormat: 'dd.mm.yy',
showOtherMonths: true,
changeMonth: true,
selectOtherMonths: true,
required: true,
altField: '#checkin',
numberOfMonths: 1,
});
$('#from').change(function () {
var from = $('#from').datepicker('getDate');
var date_diff = Math.ceil((from.getTime() - Date.parse(today)) / 86400000);
var maxDate_d = date_diff+7+'m';
date_diff = date_diff + 1;
$('#to').val('').removeAttr('disabled').removeClass('hasDatepicker').datepicker({
dateFormat: 'dd.mm.yy',
minDate: date_diff,
maxDate: maxDate_d,
altField: '#checkout',
});
});
$('#to').keyup(function () {
$(this).val('');
alert('Please select date from Calendar');
});
$('#from').keyup(function () {
$('#from,#to').val('');
$('#to').attr('disabled', 'disabled');
alert('Please select date from Calendar');
});
这允许我在表单中创建JavaScript日期选择(入住和退房日期)
功能非常完美,但这里需要一个额外的功能来集成。
我想禁用从-到的特定日期。我发现了这个JavaScript,并想集成到上面的函数中。
var dakavebuli = 1000*60*60*24;
boloshesvla = new Date('2015-12-24');
bologasvla = new Date("2015-12-25");
var shualeduritarigebi = (bologasvla.getTime()- boloshesvla.getTime())/dakavebuli;
for(var i=0;i<=shualeduritarigebi; i++)
{
var checking = boloshesvla.getTime()+dakavebuli*i;
var checkout = new Date(checking);
alert (checkout.getFullYear()+"-"+(checkout.getMonth()+1)+"-"+checkout.getDate());
}
您使用的函数不会向datepicker
返回任何内容,因此不会阻止任何此类日期,您可以使用此函数:
这些是存储在要阻止的数组中的日期
var $myBadDates = new Array("10 October 2010","21 November 2010","12 December 2010","13 January 2011","14 February 2011","15 March 2011");
功能定义:
function DisableSpecificDates(mydate){
var $return=true;
var $returnclass ="available";
$checkdate = $.datepicker.formatDate('dd MM yy', mydate);
for(var i = 0; i < $myBadDates.length; i++)
{
if($myBadDates[i] == $checkdate)
{
$return = false;
$returnclass= "unavailable";
}
}
return [$return,$returnclass];
}
这是这个问题的解决方案
$(document).ready(function () {
var d = new Date();
var unavailableDates = [<?=$disabledays?>];
function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
if ($.inArray(dmy, unavailableDates) == -1) {
return [true, ""];
} else {
return [false, "", "Unavailable"];
}
}
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
today = monthNames[d.getMonth()] + ' ' + d.getDate() + ' ' + d.getFullYear();
$('#to').attr('disabled', 'disabled');
$('#from').datepicker({
defaultDate: "+1d",
beforeShowDay: unavailable,
minDate: "+1d",
maxDate: "+1M",
dateFormat: 'dd.mm.yy',
showOtherMonths: true,
changeMonth: true,
selectOtherMonths: true,
required: true,
altField: '#checkin',
numberOfMonths: 1,
});
$('#from').change(function () {
var from = $('#from').datepicker('getDate');
var date_diff = Math.ceil((from.getTime() - Date.parse(today)) / 86400000);
var maxDate_d = date_diff+7+'m';
date_diff = date_diff + 1;
$('#to').val('').removeAttr('disabled').removeClass('hasDatepicker').datepicker({
dateFormat: 'dd.mm.yy',
minDate: date_diff,
maxDate: maxDate_d,
beforeShowDay: unavailable,
altField: '#checkout',
});
});
$('#to').keyup(function () {
$(this).val('');
alert('Please select date from Calendar');
});
$('#from').keyup(function () {
$('#from,#to').val('');
$('#to').attr('disabled', 'disabled');
alert('Please select date from Calendar');
});
});
相关文章:
- 将日期和时间转换为UTC格式的日期-Javascript
- 将 DD/MMM/YYYY 转换为二进制/纪元日期 JavaScript
- 生成时间戳日期|Javascript范围内的空数据
- 算法导航:如何查找最近的日期(javascript)
- 按日期javascript对JSON数据进行排序
- 可以使用日期 JavaScript 字符串
- 倒计时日期 - Javascript
- 将日期添加到日期以使明天成为当前日期 - Javascript
- 交货日期 Javascript 适应排除周末
- 在文本框中显示当前日期 - JavaScript
- 将json结果转换为正确的日期javascript
- 选择日期-javascript
- 修改时区新日期javascript
- 获取上月日期javascript
- 日期.javascript日期格式
- PHP生成日期->Javascript倒计时
- 如何根据给定的日期JavaScript计算3个月的日期
- 排序数组的日期- javascript
- 为什么日期.UTC(2015, 08, 31) ==日期.javascript中的UTC(2015,09, 01)
- 根据它创建的时区显示日期- JavaScript