デモページ デモページでは、いろいろなオプションを設定した Datepicker のフィールドの動きを確認できます。これらのフィールドは、デフォルトのオプションとして以下のようなものを設定済みです。
var datepicker_option = { dateFormat: 'yy/mm/dd', dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'], monthNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], showMonthAfterYear: true, yearSuffix: '年', changeYear: true, showAnim: 'fadeIn', yearRange: "c-70:c" }
このオプションは、日本語としてカレンダーを利用する為に最低限必要なものです。 ※ ▼ コンボボックスの幅を以下で最適化しています.ui-datepicker-month, .ui-datepicker-year { width: 70px!important; }yearRange: "c-70:c" のオプションは、c が現在の年を示す相対範囲指定です。デモページでは、2) cは当年 c-3:c+3 にあたります。そして、1) dateRangeなし は、そのオプションを削除したもので、その場合は "c-10:c+10" を指定したのと同じ事になります。 ▼ "c-3:c+3" ▼ jQuery を使用して、JSON オブジェクトのクローンを作成
var datepicker_option1 = $.extend(true, {}, datepicker_option); delete datepicker_option1.yearRange; $("#date_picker1_fld").datepicker( datepicker_option1 );
※ デモで複数のオプション作成の為、$.extend を使用しています altField, altFormat, appentText, autoSize altField と altFormat は、alternate(代わりの) フィールドの定義です。altField で右横にあるフィールドを id で参照します。altFormat では、そのフィールドで表示するフォーマットを指定します(ここでは日本語を使用しています。) さらに、appentText で、DatePicker フィールドの後ろにテキストを追加し、autoSize で jQuery UI にDatePicker フィールドの幅を調整させます。
var datepicker_option3 = $.extend(true, {}, datepicker_option); datepicker_option3.altField = "#date_picker3_fld_alt"; datepicker_option3.altFormat = "yy年mm月dd日"; datepicker_option3.appendText = " altFormat で日本語表現 "; datepicker_option3.autoSize = true; $("#date_picker3_fld").datepicker( datepicker_option3 );
※ 二番目のフィールドは固定で 120px を指定しており、3番目のフィールドが autoSize です。 ボタンでカレンダーを表示させる 通常では、フィールドにカーソルが移動するとカレンダーが表示されますが、それでは他の画面部分が隠されてしまって、エンドユーザが操作しづらい場合があります。そういう場合にボタンを追加してその操作を行う方法です。ここでは、その目的のために showOn = "button" と buttonText = "開く" を指定しています。(showOn では、both というオプションがありますが、それでは意味が無いので button のみの動作、また、buttonText では無く buttonImage で画像ボタンにする事もできます) 月を変更可 ★重要 : 表示したい月表現を monthNamesShort = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"] のように設定する必要がありました 誕生日の指定等、連続していない年月の指定の為、月をコンボボックスに変更します。 ※ ▼ コンボボックスの幅を以下で最適化しています.ui-datepicker-month, .ui-datepicker-year { width: 70px!important; }※ 月を変更可にした場合、これをしておかないと、年と月が入りきらずに二段になってしまいます。 前後の月を表示して選択可能にする これは、現実のカレンダーのように、表示できる場合は前月の最後と次月の最初を表示して選択できるようにするものです。そのために showOtherMonths = true と selectOtherMonths = true を両方設定しています。 jQuery.ajax による送信処理
// ************************************* // 送信 <input type="submit"> // ************************************* $("#frm").submit( function(event){ // 本来の送信処理はキャンセル event.preventDefault(); // 入力部分をプロテクト $("fieldset").eq(0).prop("disabled", true); // エラーメッセージエリアをクリア $(".error").next().text( "" ); // 結果の表示エリアを全てクリア $("#result").html( "" ); // 新規送信用オブジェクト var formData = new FormData(); formData.append("datepicker1", $("#date_picker1_fld").val() ); formData.append("datepicker2", $("#date_picker2_fld").val() ); formData.append("datepicker3", $("#date_picker3_fld").val() ); formData.append("datepicker3_alt", $("#date_picker3_fld_alt").val() ); formData.append("datepicker4", $("#date_picker4_fld").val() ); formData.append("datepicker5", $("#date_picker5_fld").val() ); formData.append("datepicker6", $("#date_picker6_fld").val() ); // ************************************** // サーバ呼び出し // ************************************** $.ajax({ url: "./post_action.php", type: "POST", data: formData, processData: false, // jQuery がデータを処理しないよう指定 contentType: false // jQuery が contentType を設定しないよう指定 }) .done(function( data, textStatus ){ console.log( "status:" + textStatus ); console.log( "data:" + JSON.stringify(data, null, " ") ); options.info("送信処理が完了しました"); }) .fail(function(jqXHR, textStatus, errorThrown ){ console.log( "status:" + textStatus ); console.log( "errorThrown:" + errorThrown ); options.info("送信処理を失敗しました"); }) .always(function() { // 入力部分のプロテクトを解除 $("fieldset").eq(0).prop("disabled", false); }) ; } );
タグ:jquery datepicker
|
【jQueryの最新記事】
- jQuery の $.get を使用した ajax のテンプレート
- jquery.balloon.js を使用した簡単なバルーン( マウスオーバーで表示する追加説明用 )の作り方
- jQuery による link 要素の追加と削除を bootstrap.css でリアルタイムチェック
- FileReader で、ローカルの CSV を読み込んで(shift_jis)、jQuery でテーブルを作成して表示する
- jQuery + bootstrap.js で ajax の GET と POST を使用した DB テーブルを更新する UI テンプレート
- jQuery : 貼り付けるだけで、ページ右下にページ先頭にジャンプするリンクを表示させる( アニメーションは無し )
- STYLE 要素を追加して、CSS テキストをセットして、jQuery で CSS に important 指定を追加する。
- ページの右下に、ページの先頭へ移動するボタンを追加する(ページの先頭から 200px までは、スクロールボタンを表示しない)
- テーブルのTDをクリックしたら、INPUT で値を変更可能にして、元の値と違うものにはフラグを立てる処理を絵で書いて説明してみました
- jQuery を使用してサーバから取得した JSON データを元にテーブルを作成し、その後から列を加工する
- JSON 配列を WEB より読み出して jQuery で動的にテーブルを作成して表示する
- FormData を使用して、jQuery で配列として PHP に送る
- 必要なデータを隠しリストボックス( multiple ) に jQuery で追加して配列として PHP に送る
- Android Studio の追加日本語化用に、キャラクタセットに依存しないコード文字列を作成するツールを作成しました
- 画像ファイルが存在した時のみ、表示する jQuery の記述
- jQuery で mobile(スマホ) かどうかのチェックをしたくて調べたら、Stack Overflow の記事でいろんな方法が答えられていました。
- jQuery と FileReader オブジェクトによる、ローカルの複数画像ファイルのプレビュー表示
- とても面白くて簡単な jQuery のクリックしたコンテンツ以外を暗転(Blackout) するサンプル
- jQuery で、左右に並んだリストボックスの右側のデーターをダブルクリックしたら左へ転送してソートする処理
- jQuery でコンボボックスの選択されたオプションのテキストを取得する場合、optgroup を使っている場合は子孫選択でないと取得されないというお話 / find(子孫) と children(直..