(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( $('