javascriptjquerydatejquery-uijquery-ui-datepicker

jQuery UI DatePicker to show month year only


I am using jQuery date picker to display the calendar all over my app. I want to know if I can use it to display the month and year (May 2010) and not the calendar?


Solution

  • Here's a hack (updated with entire .html file):

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
        <link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css">
        <script type="text/javascript">
            $(function() {
                $('.date-picker').datepicker( {
                changeMonth: true,
                changeYear: true,
                showButtonPanel: true,
                dateFormat: 'MM yy',
                onClose: function(dateText, inst) { 
                    $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
                }
                });
            });
        </script>
        <style>
        .ui-datepicker-calendar {
            display: none;
        }
        </style>
    </head>
    <body>
        <label for="startDate">Date :</label>
        <input name="startDate" id="startDate" class="date-picker" />
    </body>
    </html>
    

    EDIT jsfiddle for the above example: http://jsfiddle.net/DBpJe/7755/

    EDIT 2 Adds the month year value to input box only on clicking of Done button. Also allows to delete input box values, which isn't possible in above field http://jsfiddle.net/DBpJe/5103/

    EDIT 3 updated Better Solution based on rexwolf's solution down.
    http://jsfiddle.net/DBpJe/5106