Datepicker de jQuery - actualisation cliquable jours en fonction de l'option sélectionnée
J'ai une zone de liste dans laquelle l'utilisateur peut choisir 3 différents magasins. Il ne devrait pas être possible de choisir week-end pour les magasins 2 et 3, et pour le magasin 1 vous devez seulement être en mesure de prendre Lun - Sam.
Le code javascript suivant ne fonctionne que sur le premier choix. Si vous choisissez un autre magasin juste après, il va rester avec le vieux options.
J'ai essayé d'utiliser $( "#datepicker" ).datepicker("refresh");
(voir comment faire pour actualiser datepicker?) mais sans succès. Je commence à penser que le problème est ailleurs.
Javascript:
$(function() {
var setting, currentShop = 0;
/* Select box */
$('select#shop').change(function() {
(currentShop = $(this).val() == 1) ? loadDatePicker(setting = 'noSunday') : loadDatePicker(setting = 'noWeekends');
});
/* Datepicker */
function noSunday(date){
var day = date.getDay();
return [(day > 0), ''];
}
function loadDatePicker(setting) {
if(setting == 'noWeekends') {
$( "#datepicker" ).datepicker({ beforeShowDay: $.datepicker.noWeekends, minDate: +2, maxDate: "+1M" });
}
if(setting == 'noSunday') {
$( "#datepicker" ).datepicker({ beforeShowDay: noSunday, minDate: +2, maxDate: "+1M" });
}
$( "#datepicker" ).datepicker("refresh");
}
});
HTML:
<select id="shop" name="shop">
<option value="0" selected="selected">Choose a shop</option>
<option value="1">1 (closed sundays)</option>
<option value="2">2 (closed weekends)</option>
<option value="3">3 (closed weekends)</option>
</select>
<label for="datepicker">Datepicker</label><input type="text" name="date" id="datepicker" value="" readonly="readonly" />
Jsfiddle:
http://jsbin.com/ajavek/1/edit
Comment puis-je actualiser/appliquer les paramètres correctement avec datepicker?
OriginalL'auteur estrar | 2013-03-08
Vous devez vous connecter pour publier un commentaire.
Voir ceci: DÉMO
Vous avez besoin de mettre
$("#datepicker").datepicker("destroy");
à chaque fois avant de modifier les paramètres de...OriginalL'auteur Anujith
Au-dessus de la ligne de travail pour la compensation de la
datepicker
.OriginalL'auteur Atik Fahm
$("#datepicker").datepicker("détruire");
Ce n'est pas de fournir une réponse à la question. Une fois que vous avez suffisamment de réputation vous serez en mesure de commentaire sur post; fournir des réponses qui ne nécessitent pas de clarification de la asker. - Revue
OriginalL'auteur Devendra