7409


jQueryUIのDatePickerウィジェットを適用しているテキストボックスがあるのですが、そこに元号を入力できるようにしたいです。  
具体的には、下記のフォーマットでの文字入力を許可したいです。  
「H26/4/1」  
「h26/4/1」  
「平成26/4/1」

しかし、テキストボックス(input[type=text])にdatepickerを使用すると、数字は入力できますが、Hなどの元号記号が入力できなくなります。  
この入力制限を取り払うことができれば、一番良いのですが、それは可能でしょうか？  
それさえできれば、あとはテキストボックスのchangeなりblurなりのイベントで、西暦のフォーマットに変換をかけてしまおうと思っているのですが・・・

なお、元号をカレンダーウィジェット上で選択できるよう改造したものは見つけましたが、要件は選択ではなく、文字入力です。


CC BY-SA 3.0
2015-03-04T02:49:04.917
7406
2015-03-05T06:46:25.547
2015-03-04T05:16:14.850
8078
8078
question
jquery-ui
jQueryUIのdatepickerを使いつつ元号の文字を入力したい


Firefox、IEとも`datepicker()`後も日本語入力できましたが･･･  
年を置き換えるのはこうすればできます。

アルファベットの入力を可能にするには`constrainInput: false`を設定します。

[code]

      $(document).ready(function() {
        var format = 2;
        $("input").datepicker({
            constrainInput: false,
            dateFormat: "yy/mm/dd",
            onSelect: function(e){
                var dateStr = $(this).val();
                var year = parseInt(dateStr.substr(2, 2), 10) + 12;
                var headStr = "";
                switch(format){
                case 0: headStr = "H";    break;
                case 1: headStr = "h";    break;
                case 2: headStr = "平成"; break;
                }
                $(this).val(dateStr.replace(/^[0-9]{4}/, headStr+year));
            }
        });
    });
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" />
    
    日付：<input type="text" />
[/code]


CC BY-SA 3.0
2015-03-04T03:46:30.340
7409
2015-03-05T06:46:25.547
2015-03-05T06:46:25.547
7214
7214
7406
answer