(function($) { $.fn.pickerSet = function( arg ) { 'use strict'; // プラグインオプション var opt = $.extend(true,{ topItems:[] // 日にち選択肢の先頭に入る固定の選択肢 },arg); return $(this).each(function(i, elem) { var pickerDateCtrl = $(elem).find('.pic-date'); if (pickerDateCtrl.length > 0) { pickerDateCtrl = pickerDateCtrl[0]; } var monthCtrl = $(elem).find('.m_ctrl'); var dayCtrl = $(elem).find('.d_ctrl'); var pickerCtrl = $(elem).find('.pickerCtrl'); var updateDate = function() { // スマホはカレンダー型でなく選択ボックスで月日を選んで文字列生成 var M = $(monthCtrl).val(); var D = $(dayCtrl).val().replace('日', ''); var Y; if (/^(\d+)年(\d+)月/.test(M)) { Y = RegExp.$1; M = RegExp.$2; } else { Y = moment().year(); M = M.replace('月', ''); } if (Y && M && D) { $(pickerDateCtrl).val(Y + '年' + ('0' + M).slice(-2) + '月' + ('0' + D).slice(-2) + '日'); } }; if (pickerCtrl.css('display') == 'none') { // 日付選択ボックス monthCtrl.on('change', function() { var mm = moment(); var year = mm.year(); var month = $(monthCtrl).val(); var i, wday; if( /^(\d+)年(\d+)月/.test(month) ){ year = RegExp.$1; month = RegExp.$2; } else month = month.replace('月',''); if( month ){ // 選択肢クリア var value = $(dayCtrl).val(); var $option0 = dayCtrl.children().first(); dayCtrl.empty().append( $option0 ); for( i=0; i < opt.topItems.length; i++ ){ dayCtrl.append( $('