web-dev-qa-db-fra.com

jQuery UI Datepicker activer uniquement des jours spécifiques dans le tableau

J'essaie de désactiver toutes les dates dans un sélecteur de dates et de n'activer que les dates qui sont dans un tableau. C'est le code que j'ai jusqu'à présent http://jsfiddle.net/peter/yXMKC/ le problème n'est que le 14 mai apparaît comme activé. Les autres sont tous handicapés. Des idées?

var availableDates = ["9-5-2011","14-5-2011","15-5-2011"];

function available(date) {
  dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
  if ($.inArray(dmy, availableDates) == 1) {
    return [true, "","Available"];
  } else {
    return [false,"","unAvailable"];
  }
}

$('#date').datepicker({ beforeShowDay: available });
24
Anagio

$ .inArray (dmy, availableDates) renvoie l'index de l'élément, donc lorsque vous comparez avec 1, seul 14-5-2011 correspondra. Vérifiez qu'il n'est pas égal à -1. Devrait marcher.

Violon - http://jsfiddle.net/yXMKC/4/

var availableDates = ["9-5-2011","14-5-2011","15-5-2011"];

function available(date) {
  dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
  console.log(dmy+' : '+($.inArray(dmy, availableDates)));
  if ($.inArray(dmy, availableDates) != -1) {
    return [true, "","Available"];
  } else {
    return [false,"","unAvailable"];
  }
}
49
Jayendra