UPDATE
I have reverted back to Jquery 1.3.2 and everything is working, not sure what the problem is/was as I have not changed anything else apart of the jquery and ui library versions.
UPDATE END
I having an issue with the JQuery UI datepicker. The datepicker is being attached to a class and that part is working but the datepicker is not being displayed.
Here is the datepicker code I am using and the inline style that is being generated when I click in the input box that has the class ".datepicker".
$('.datepicker').datepicker({dateFormat:'dd/mm/yy'});
display:none;
left:418px;
position:absolute;
top:296px;
z-index:1;
If I change the display:none to display:block the datepicker works fine except it dosen't close when I select a date.
Jquery libraries in use:
- jQuery JavaScript Library v1.4.2
- jQuery UI 1.8 jQuery UI Widget 1.8
- jQuery UI Mouse 1.8 jQuery UI
- Position 1.8 jQuery UI Draggable 1.8
- jQuery UI Droppable 1.8 jQuery UI
- Datepicker 1.8
Seems to happen with some themes (cupertino/theme.css) in my case.
And the problem is the .ui-helper-hidden-accessible class which have clip property, like previous users said.
Just Overwrite it and it will be fine
Ok, I finally found my solution.
If you are using templates on your view (using Moustache.js, or others...), you must take into account that some of your classes can be loaded twice, or will be created later. So, you must apply this function
$(".datepicker" ).datepicker();
once the instance has been created.Please make sure that you are using the same version of jquery-ui 'js' and 'css' files. Sometimes that could be a problem.
I had the same issue: the Date Picker was added successfully (and could even be found in FireBug), but was not visible. If you use FireBug to remove the class "ui-helper-hidden-accessible" from the Date Picker div (ID of: "ui-datepicker-div"), the Date Picker becomes visible and will work like normal.
If you add the following at the very end of your $(document).ready() function, it will apply this to every Date Picker on you page, and make them all work:
That was my initial fix. Afterwards, I tried the solution suggested above by Brian Mortenson and it both worked perfectly, and seemed less invasive than removing an entire class from the element. So I modified my code to apply his solution to the method I used (apply at the end of the document setup so that it applies to every Date Picker and does not require repeating):
Hope this helps to get someone unstuck.
EDIT: Fixed a code syntax error.
Try putting the z-index of your datepicker css a lot higher (eg z-index: 1000). The datepicker is probably shown under your original content. I had the same problem and this helped me out.
I changed the line
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
to
.ui-helper-hidden-accessible { position: absolute !important; }
and everything works now. Otherwise try upping the z-index as Soldierflup suggested.