1. ホーム
  2. javascript

[解決済み] jQuery UI DatePickerで月と年だけを表示する。

2022-03-25 15:51:23

質問

jQueryのdate pickerを使って、アプリ全体にカレンダーを表示させています。私はカレンダーではなく月と年(2010年5月)を表示するためにそれを使用することができるかどうかを知りたいのですが?

解決方法を教えてください。

ここにハックがあります(.htmlファイル全体を更新)。

<!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です。 http://jsfiddle.net/DBpJe/7755/

EDIT 2 Doneボタンをクリックした時のみ、入力ボックスに月の年の値を追加します。 また、上記のフィールドでは不可能な、入力ボックスの値の削除も可能です。 http://jsfiddle.net/DBpJe/5103/

EDIT 3 rexwolf氏の解決策を元に、Better Solutionを更新しました。
http://jsfiddle.net/DBpJe/5106