2010-07-19 3 views
3

Im utilisant le plugin DatePicker pour un projet. Mais je veux désactiver des dates antérieures à aujourd'hui (l'utilisateur ne pouvions pas sélectionner les dates anciennes) Mes js est:.Désactiver des dates plus anciennes qu'aujourd'hui dans le plugin DatePicker

datePickerController.createDatePicker({ 
formElements:{"inp1":"d-ds-m-ds-Y"} }); 

Dans le manuel: Both methods accept an Object that represents the dates or date ranges to disable. Je ne pourrais pas désactiver les vieux jours encore avec beaucoup d'essais et d'erreurs. Pouvez-vous s'il vous plaît me montrer un moyen de le faire? Merci à l'avance

Edit:

datePickerController.setRangeLow("myElementID",$today); 

datePickerController.setRangeHigh("myElementID",$old_dayes); 

Je veux mettre ce jour dynamique ("myElementID","20081201"). gammes Date: $today et $old_days = 'dates older than $today'

Répondre

3

de la docu (note: c'est exactement le lien que vous avez posté!)

Limiter la sélection de date à savoir la mise en plages de dates

Le Datepicker vous permet pour définir à la fois une limite inférieure et supérieure pour la sélection de date .

Pour ajouter une limite inférieure ou supérieure, juste ajouter les paramètres « PlageHaute » et/ou « PlageBasse » à l'objet et l'initialisation définir leurs valeurs à une chaîne de format de date AAAAMMJJ; par exemple , le code suivant limitera sélection de date en dehors de la gamme 13/03/1970 à 20/12/1999:

var opts = {        
    formElements:{"inp1":"d-sl-m-sl-Y"}, 
    // Set a range low of 13/03/1970     
    rangeLow:"19700313", 
    // Set a range high of 20/12/2009 
    rangeHigh:"20091220"     
};  
datePickerController.createDatePicker(opts); 

pour ceux qui ne sont pas prêts à faire défiler (juste un ligne vers le bas dans le docu) ...

Réglage de la plage de dates dynamiquement

les plages de dates supérieures et inférieures peuvent être également mis en par programme appelant les deux méthodes suivantes:

// Set the lower limit to be 01/12/2008 
datePickerController.setRangeLow("myElementID","20081201"); 
// Set the upper limit to be 01/12/2009 
datePickerController.setRangeHigh("myElementID","20091201"); 

modifier:

html:

<input type="text" id="datepicker"/> 

javascript:

var today = new Date(); 
var options = { 
    formElements: { 
     "datepicker": "d-sl-m-sl-Y" 
    }, 
    rangeLow: today.getFullYear() + today.getMonth() + today.getDay(), 
}; 
datePickerController.createDatePicker(options); 
+0

Je ne désactive pas les dates dynamiquement. – TheNone

+0

voir mon edit! ... –

+0

@Andreas; Je connais les problèmes en manuel. Les dates ci-dessus peuvent être dynamiques. $ aujourd'hui et $ datesolderthantoday que définir dynamique. Mais je ne suis pas très familliar avec js. Ma question est que comment pouvez définir cette date de manière dynamique. – TheNone

5

Pour voir solution simple: this site. rapide & facile :)

$(function() { 
     var date = new Date(); 
     var currentMonth = date.getMonth(); 
     var currentDate = date.getDate(); 
     var currentYear = date.getFullYear(); 

     $('#YourDatepicker').datepicker({ 
      maxDate: new Date(currentYear, currentMonth, currentDate) 
     }); 
    }); 
2

Pour une méthode plus simple que de upiic:

function() { 
    $('#DatePickerControlName').datepicker({maxDate: 0}); 
}); 

NB. Le 0 signifie zéro jour à partir de maintenant.

Questions connexes