日付入力のテキストフォームにカレンダープラグインを導入
2014/02/23
やりたかった事と制限は下記の通り。
・日付入力のテキストフォームにカレンダープラグインを導入
・jQueryUIは使わない
・出来るだけ軽いもの
■使用プラグイン
http://glad.github.io/glDatePicker/
■使い方
jsファイルとCSSファイルを呼び出す。
jQuery部分に、
$(function(){
$("テキストフォームIDを指定").glDatePicker();
})
と記述するだけ。
■ソース
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>glDatePickerの練習</title>
<link rel="stylesheet" href="./styles/glDatePicker.default.css" type="text/css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="./glDatePicker.min.js"></script>
<script>
$(function(){
$("#calender1,#calender2").glDatePicker({
onClick: function(target, cell, date, data) {
target.val(date.getFullYear() + '/' + (date.getMonth()+1) + '/' +date.getDate());
}
});
});
</script>
</head>
<body>
<h1>glDatePickerの練習</h1>
<input type="text" id="calender1"> ~ <input type="text" id="calender2">
</body>
</html>
■サンプル
http://sample.taitan916.info/calender/
■その他
複数設置したい時は$("#calender1,#calender2").glDatePicker
みたいにカンマ区切りで指定。
あとデフォだとブラウザの仕様かもしれないけど、
IE,Firefox ⇒ YYYY/MM/DD
Chrome ⇒ YYYY年MM月DD日
みたいなフォーマットになった。受け取る際に正規表現使えば
いけそうだけどフォーマット揃えといた方が何かとよさそうなので、
{onClick: function(target, cell, date, data) {
target.val(date.getFullYear() + '/' + (date.getMonth()+1) + '/' +date.getDate());
}
の部分でスラッシュ区切りを指定している。
この方法が正しいかどうかは知りません。
date.getMonth()はすっかり忘れてたけど+1しないと
いけないので注意。
//追記
付属しているCSSでデザイン変えるのが上手くいかず
悩んだのでメモ。jqueryで書く時に「cssName: 'flatwhite', 」
みたいにクラス名をつけることで解決。
関連記事
-
「slick」で作成したスライダー画像にランキングの順位を表示する方法
「slick」で作成したスライダー画像に対して、ランキングの順位を表示したいとい ...
-
NicEdit(WYSIWYGエディタ)を再描写時にサイズを調整する方法
NicEdit(WYSIWYGエディタ)を設置しているサイトがあった。ページ読み ...
-
jQueryにて複数のajax処理のレスポンスをまとめて表示する方法
同時にajax処理を行う際、挙動やコードの書き方に悩まされることが多い。例えばA ...
-
amazon等のECサイトによくにあるアイテムの満足度を星マークで送信・表示する方法
amazon等のECサイトによくにあるアイテムの満足度を星マークかつ5段階で送信 ...
-
オリジナルのjQueryプラグインを作成する方法
オリジナルのjQueryプラグインを作ってみたかった。というのも大抵のものはググ ...