2017-01-24 18 views
0

私は日付の配列を持っています。この配列をループし、datepickerコントロールで選択可能な日付を無効にしたいbeforeShowDayパラメータでこれを行う必要があります!ブートストラップ - Datepicker /配列から特定の日付を無効にする

これは私のコードです:

var datesForDisable = ["25-01-2017", "26-01-2017", "27-01-2017"] 

$("#holidayDateFrom").datepicker({ 
      format: 'dd-mm-yyyy', 
      autoclose: true, 
      weekStart: 1, 
      calendarWeeks: true, 
      todayHighlight: true, 
      //datesDisabled: datesForDisable, 
      //daysOfWeekDisabled: [0, 6], 

      beforeShowDay: function (currentDate) { 
       var dayNr = currentDate.getDay(); 

       if (dayNr == 6) {//This works 
        return false; 
       } 

       if (dayNr == 0) {//This works 
        return false; 
       } 



        // This dosnt works.. 
         var dateNr = moment(currentDate.getDate()).format("DD-MM-YYYY"); 
         if (datesForDisable.length > 0) { 
          for (var i = 0; i < datesForDisable.length; i++) { 
           var date = new Date(datesForDisable[i]); 
           if (date == dateNr) { 
            return false; 
           } 
          } 
         } 
         return true; 
        } 
       }) 

これを行うには?以前はありがとう!

+0

:)あなたはそれだけで書式設定のエラーではありません確認することができます見てみましょうか? '' dd/mm/yyyy''、 '' DD-MM-YYYY''、 '' 25.01.2017 ''の3つのフォーマットがあります。 –

+0

私は論理のための応答が必要です.. –

+0

論理が実行可能なようです...それは私が書式の物を尋ねた理由 –

答えて

0

あなたは私はあなたがこのオプションをコメントする理由はわからないタイムスタンプ(UNIX時間)

var datesForDisable = ["25.01.2017", "26.01.2017", "27.01.2017"] 

$("#datepicker").datepicker({ 
      format: 'dd/mm/yyyy', 
      autoclose: true, 
      weekStart: 1, 
      calendarWeeks: true, 
      todayHighlight: true, 
      //datesDisabled: datesForDisable, 
      //daysOfWeekDisabled: [0, 6], 

      beforeShowDay: function (currentDate) { 
       var dayNr = currentDate.getDay(); 
       var dateNr = moment(currentDate.getDate()).format("DD-MM-YYYY"); 

       if (dayNr == 6) {//This works 
        return false; 
       } 

       if (dayNr == 0) {//This works 
        return false; 
       } 
        if (datesForDisable.length > 0) { 
         for (var i = 0; i < datesForDisable.length; i++) {       
          if (moment(currentDate).unix()==moment(datesForDisable[i],'DD.MM.YYYY').unix()){ 
           return false; 
          } 
         } 
        } 
        return true; 
       } 
      }) 
+0

私は試してみる:) –

0
datesDisabled: datesForDisable 

として日付を比較することができます。あなたの質問によると、このオプションはあなたが探しているものと同じものを提供しています。ちょっと

http://jsfiddle.net/CxNNh/4056/

関連する問題