2016-05-03 21 views
0

I次のjQueryコードを持っている: -jQueryの日付ピッカーの除外日

var excludedDays = jQuery('#exclude-values').val(); 
// above returns = ["05/16/2016","05/17/2016"]; 

var disabledDays = ["5/16/2016","5/17/2016"]; 

function nationalDays(date) { 
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 
    for (i = 0; i < disabledDays.length; i++) { 
     if($.inArray((m+1) + '/' + d + '/' + y,disabledDays) != -1 || new Date() > date) { 
      return [false]; 
     } 
    } 
    return [true]; 
} 
function noWeekendsOrHolidays(date) { 
    var noWeekend = jQuery.datepicker.noWeekends(date); 
    return noWeekend[0] ? nationalDays(date) : noWeekend; 
} 

jQuery('#datepicker').datepicker({ 
    dateFormat: 'dd-mm-yy', 
    changeYear: false, 
    minDate: 7, 
    inline: true, 
    constrainInput: true, 
    beforeShowDay: noWeekendsOrHolidays 
}); 

これが動作している、しかし私はミリメートルであることをそれを必要とするとき渡された値が、フォーマットM/DD/YYYYである場合にのみ動作します/ dd/yyyy。

excludedDaysの形式で動作するようにコードを修正する方法はありますか。

答えて

1

月+ 1が1桁の場合は、単にゼロを追加しますか?私のスニペット通り?

var excludedDays = jQuery('#exclude-values').val(); 
 
// above returns = ["05/16/2016","05/17/2016"]; 
 

 
var disabledDays = ["05/16/2016","05/17/2016"]; 
 

 
function nationalDays(date) { 
 
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 
 
    
 
    for (i = 0; i < disabledDays.length; i++) { 
 
     
 
     if($.inArray(((m+1<10) ? "0"+parseInt(m+1) : m+1) + '/' + d + '/' + y,disabledDays) != -1 || new Date() > date) { 
 
      return [false]; 
 
     } 
 
    } 
 
    return [true]; 
 
} 
 
function noWeekendsOrHolidays(date) { 
 
    var noWeekend = jQuery.datepicker.noWeekends(date); 
 
    return noWeekend[0] ? nationalDays(date) : noWeekend; 
 
} 
 

 
jQuery('#datepicker').datepicker({ 
 
    dateFormat: 'dd-mm-yy', 
 
    changeYear: false, 
 
    minDate: 7, 
 
    inline: true, 
 
    constrainInput: true, 
 
    beforeShowDay: noWeekendsOrHolidays 
 
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<body> 
 

 
<p>Date: <input type="text" id="datepicker"></p> 
 
    
 
    
 
</body>

関連する問題