2016-08-22 202 views
3

我已經得到了很多,但堅持最後一部分。我基本上只需要禁用所有星期日,然後能夠添加日期到一個數組也可以禁用,我知道代碼來單獨禁用每個,但是當我嘗試將它們放在一起時,我要麼選擇星期日可選日期數組或另一種方式。我需要加入的兩個部分有數組和星期日禁用功能,在前兩天的功能中,我知道我不能有兩個,我只是把兩個都放在一起,這樣你就可以看到我正在嘗試的東西。感謝您的幫助jQuery datepicker禁用星期日和特定數組日期

<script> 
    var array = ["2016-08-29","2013-03-15","2013-03-16"] 
</script> 

<script> 

$(function() { 

var today = new Date(); 

$("#datepicker").datepicker({ 
    dateFormat: 'dd MM yy', 
    beforeShowDay: function(date) { 
     var day = date.getDay(); 
     return [(day != 0), '']; 
    }, 
    beforeShowDay: function(date) { 
     var string = jQuery.datepicker.formatDate('yy-mm-dd', date); 
     return [ array.indexOf(string) == -1 ] 
    }, 
    //beforeShowDay: $.datepicker.noWeekends, 
    firstDay: 1, 
    minDate: today.getHours() >= 14 ? 2 : 1, 
    maxDate: '+1m', 
    onSelect: function(dateText, inst) { 
     $('#checkout_attribute_1').val(dateText); 
    } 
    }); 
}); 
</script> 

回答

0

你可以嘗試這樣的事情:

var array = ["2016-08-29", "2013-03-15", "2013-03-16"] 

$(function() { 
    var today = new Date(); 
    $("#datepicker").datepicker({ 
    dateFormat: 'dd MM yy', 
    beforeShowDay: function(date) { 
     var string = jQuery.datepicker.formatDate('yy-mm-dd', date); 
     if (contains(array,string)) { 
     debugger; 
     return [false, ''] 
     } else { 
     var day = date.getDay(); 
     return [(day != 0), '']; 
     } 
    }, 
    //beforeShowDay: $.datepicker.noWeekends, 
    firstDay: 1, 
    minDate: today.getHours() >= 14 ? 2 : 1, 
    maxDate: '+1m', 
    onSelect: function(dateText, inst) { 
     $('#checkout_attribute_1').val(dateText); 
    } 
    }); 
}); 

function contains(a, obj) { 
    var i = a.length; 
    while (i--) { 
     if (a[i] === obj) { 
      return true; 
     } 
    } 
    return false; 
} 

https://jsfiddle.net/9hrhyd4q/

+0

你真是太棒了,謝謝你,夥計真的很感謝你的幫助! – shaneklive

+0

樂意幫忙,祝你有個美好的一天! –

0

試試這個

beforeShowDay: function(date) { 
    var day = date.getDay(); 
    var string = jQuery.datepicker.formatDate('yyyy-mm-dd', date); 
    if (day == 0){ 
     return [false]; 
    } 
    else if(array.indexOf(string) != -1){ 
     return [false]; 
    } 
    else{ 
     return [true]; 
    } 
} 
+0

感謝您的答覆,這不是遺憾的是工作的日期選擇器無法打開所有當我嘗試這 – shaneklive

+0

我已經更新了我的answer.try這@shanekliv e –