2016-07-31 11 views
1

Ich habe zwei Datepickers 1-fromDate und 2-toDate ich möchte Wenn ich Monat/anydate/Jahr in fromDate dann die DateDicker ToDate auf Nextmonth/AnyDate/Jahr und deaktivieren Sie vorherige Daten .So deaktivieren Sie zuvor ausgewählten Monat in Datepicker

$("#fromDate").datepicker({ 
     maxDate: 0, 
     onSelect: function (date) { 
$("#toDate").datepicker('option', 'minDate', date); 
     } 
    }); 
$("#toDate").datepicker({ 
     maxDate: '0' 
    }); 

dieser Code zu deaktivieren, die Tage nicht der Monat

+0

Sie meinen wie das Beispiel auf der jQuery UI Datepicker-Seite? https://jqueryui.com/datepicker/#date-range – j08691

+0

@ j08691 Nein, es wird so etwas wie dieses Beispiel in diesem Link aussehen, aber ich muss den ganzen Monat deaktivieren http://StackOverflow.com/Questions/31204306/ disable-previous-dates-of-a-datepicker-entsprechend-ausgewählt-date-in-javascript # – Mhmd

+0

führen Sie das Code-Snippet und sehen Sie das Ergebnis. – Mhmd

Antwort

0

Versuchen Sie, diese

$(function() 
    { 
     var dateFormat = "mm/dd/yy", 
     from = $("#from") 
     .datepicker 
     ({ 
      changeMonth: true, 
      numberOfMonths: 1 
     }) 
     .on("change", function() 
     { 
      to.datepicker("option", "minDate", getDate(this)); 
     }), 
     to = $("#to").datepicker({ 
      changeMonth: true, 
      numberOfMonths: 1 
     }) 
     .on("change", function() 
     { 
      from.datepicker("option", "maxDate", getDate(this)); 
     }); 

     function getDate(element) 
     { 
      var date; 
      try 
      { 
       date = $.datepicker.parseDate(dateFormat, element.value); 
      } 
      catch(error) 
      { 
       date = null; 
      } 
      return date; 
     } 
    }); 
+0

immer noch das gleiche Ergebnis, deaktivieren Tage nicht den Monat – Mhmd

0

Sobald beforeShowDay und onSelect verwendet bereits ausgewählten Daten

beforeShowDay Läufe zu deaktivieren, bevor Kalender gerendert onSelect nachlaufen Benutzer ein Datum

macht ein Array speichern ausgewählte Daten auswählt, wenn der Benutzer ein Datum in Array schieben auswählt und beforeShowDay Rückruf erhält Datum Argument für alle Tage eines Monats

beforeShowDay: function(date){ 
... 
//check date 
} 

onSelect: function(date) { 
... 
//date is user selected value save it for future comparison 
}, 

So können Sie Bedingungen dort überprüfen, ob Datum im Array für ein Datum falsch zurückgibt deaktiviert es und wird als grau angezeigt.

https://jsfiddle.net/0g1atvm1/3/

Wenn das hilft.