2010-12-07 5 views
13

Je souhaite effectuer une sélection de plage de dates à l'aide de jquery-ui datepicker. La première modification à #dteStart réussit à définir minDate à #dteEnd. Mais #dteEnd n'a pas pu actualiser ses options lors de la prochaine modification, si j'avertis DateOptions.minDate sa valeur a changé selon dateMin.Modification dynamique de l'option dans l'interface utilisateur JQuery Échec de DatePicker

Peut-être me manque quelque chose ...

$(document).ready(function() 
{ 
    $("#dteStart").datepicker() 
    .change(function() 
    { 
     dateStart = $(this).datepicker('getDate'); 
     dateMin = new Date(dateStart.getTime()); 
     dateMin.setDate(dateMin.getDate() + 1); 

     var DateOptions = { 
      dateformat: "mm/dd/yyyy", 
      minDate: dateMin 
     } 
     $("#dteEnd").datepicker(DateOptions); 
    }); 
}); 

TIA,

REV

Répondre

22

mis $("#dteEnd").datepicker("destroy"); avant $("#dteEnd").datepicker(DateOptions); et cela fonctionnera très bien.

+0

haa .., exactement ce dont j'ai besoin .. remercie l'homme .. – v14nt0

+0

Je voudrais pouvoir donner +2 à cette réponse! – Siddhant

15

Si vous voulez juste changer les options déjà configurées, vous pouvez également faire:

$("#dteEnd").datepicker("option", DateOptions); 

ou

$("#dteEnd").datepicker("option", { dateFormat: "mm/dd/yyyy" }); 
+0

FOrmat votre code s'il vous plaît. – Manuel

+2

Par exemple: $ (".publishdatepicker") .datepicker ("option", {yearRange: "-90: +1"}); – Pons

+0

Votre deuxième ligne, ne fonctionne pas avec moi, seulement quand dateformat est dateFormat (avec un F majuscule) jQueryUI 1.10.2 –

1

La fonction d'aide jQuery suivant peut être utile dans ce cas, pour préserver l'original options:

Il enregistre les options précédentes et les étend avec les nouvelles options.

Questions connexes