2016-08-22 12 views
3

私はこれでかなり遠いですが、最後の部分で立ち往生しました。私は基本的にすべての日曜日を無効にしてから、配列に日付を追加して無効にする必要があります。私はそれぞれを個別に無効にするコードを知っていますが、それらをまとめようとすると、選択可能な日付の配列逆に。私が配列と日曜日に無効にするために参加する必要がある2つの部分は、beforeshowdays関数にあります。私は2つを持つことができないことを知っています。任意のヘルプ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 –

関連する問題