2016-08-22 154 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 –

相关问题