Yep, I need to stop coding for the night.

My first approach is correct (for my needs).  The defaultDate option 
sets what date will be shown when the datepicker is displayed, if it's 
corresponding text box is empty.  It does NOT show the date in the text box.

k, I'm going to bed...

Shawn

Shawn wrote:
> Sure, now that I figured all that out AND posted the message, I find the 
> "defaultDate" option to be passed to the calendar...
> 
> from the docs:
> defaultDate    Date(yyyy, mm - 1, dd), Number    Default: null
> Set the date to display on first opening if the field is blank. Specify 
> either an actual date via a Date object, or relative to today with a 
> number, or null for today.
> 
> Now, I DID check the docs before everything, but I missed this one... 
> maybe I need to stop coding for the night... :)
> 
> Shawn
> 
> Shawn wrote:
>> I just wasted an hour trying to figure out how to simply set the date 
>> for a datepicker from within code.  So I'm posting what I've learned 
>> here hoping that I might save someone that hour themselves...
>>
>> What I was trying to do was to simply show a default date in my text 
>> box.  I wanted to use the datepicker's methods so that a) I would have 
>> the same format as the results, and b) I wouldn't need to worry about 
>> creating a custom format method for the default that may or may not 
>> create a format that would work properly with the datepicker.
>>
>> The sample pages do not seem to have this demonstrated (it's late, so 
>> maybe I just missed it).
>>
>> Turns out the documentation is kinda correct.  Doing this DOES work:
>>
>> $.datepicker.setDateFor("#mytextbox", new Date());
>>
>> But what it doesn't do is actually SHOW the date in your text box.  To 
>> do that you have to do this:
>>
>> $("#mytextbox").val(
>>   $.datepicker.formatDate(
>>     "dd M yy",
>>      $.datepicker.getDateFor("#mytextbox")
>>   )
>> );
>>
>> (NOTE, that should be one line, I broke it down so it would render 
>> half decent in my mail client that auto wraps text at 80 chars...)
>>
>> Doing the getDateFor() method does NOT honor the date format you've 
>> set for the date picker.  This makes sense because you're likely to be 
>> doing calculations on this date and getting a raw date object back is 
>> best for that.  So you have to take the date you retrieved and then 
>> filter it through the formatDate() method.
>>
>> My thoughts are that the setDateFor() method should update the related 
>> textbox.  I can't think of any instances where this would cause 
>> problems (but it's late, and I'm tired.. :)
>>
>> So, hopefully this rambling post will help someone else trying to do 
>> the same.
>>
>> As an aside, I'm VERY happy to see the new formatting and parsing 
>> options.  Good work Marc!
>>
>> Shawn
>>
> 

Reply via email to