.datepicker('setdate') issues, in jQuery
When you trying to call setDate you must provide valid javascript Date object.
queryDate = '2009-11-01';
var parsedDate = $.datepicker.parseDate('yy-mm-dd', queryDate);
$('#datePicker').datepicker('setDate', parsedDate);
This will allow you to use different formats for query date and string date representation in datepicker. This approach is very helpful when you create multilingual site. Another helpful function is formatDate, which formats javascript date object to string.
$.datepicker.formatDate( format, date, settings );
If you would like to support really old browsers you should parse the date string, since using the ISO8601 date format with the Date
constructor is not supported pre IE9:
var queryDate = '2009-11-01',
dateParts = queryDate.match(/(\d+)/g)
realDate = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);
// months are 0-based!
// For >= IE9
var realDate = new Date('2009-11-01');
$('#datePicker').datepicker({ dateFormat: 'yy-mm-dd' }); // format to show
$('#datePicker').datepicker('setDate', realDate);
Check the above example here.
As Scobal's post implies, the datepicker is looking for a Date object - not just a string! So, to modify your example code to do what you want:
var queryDate = new Date('2009/11/01'); // Dashes won't work
$('#datePicker').datepicker('setDate', queryDate);