2016-07-21 11 views
4

私はYYとMMのための2つの別々のフィールドを持っています 私が今あるものは、ほんの1つのフィールドを除いてほしいものです。ここではそれが今のように見える方法は次のとおりです。how it's looking right nowDatepicker - YYとMMだけを分離

<input id="residenceyears" name="residenceyears" type="text" placeholder="YY/MM" class="input yyMM numeric-only"> 

これは、JS関数です:

<script type="text/javascript"> 
$('.yyMM').datepicker({ 
changeMonth: true, 
changeYear: true, 
monthNames: ["1","2","3","4","5","6","7","8","9","10","11","12"], 
yearRange: "-100:+0", 
dateFormat: 'yy/mm', 

onClose: function() { 
    var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val(); 
    var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); 
    $(this).datepicker('setDate', new Date(iYear, iMonth, 1)); 
}, 

beforeShow: function() { 
    if ((selDate = $(this).val()).length > 0) 
    { 
     iYear = selDate.substring(selDate.length - 4, selDate.length); 
     iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5), $(this).datepicker('option', 'monthNames')); 
     $(this).datepicker('option', 'defaultDate', new Date(iYear, iMonth, 1)); 
     $(this).datepicker('setDate', new Date(iYear, iMonth, 1)); 
    } 
} 

});

は私が達成しようとしていることはこれです:it should look like this

答えて

0

このjsFiddleで見てください - >https://jsfiddle.net/mLcpwdra/

コード:

HTML

<div id="datepicker"></div> 
<hr /> 
<div id="month"><p>Month:<span></span></p></div> 
<div id="year"><p>Year:<span></span></p></div> 
<div id="day"><p>Day:<span></span></p></div> 

js

var obj = { 
    init: function() 
    { 
    $('#datepicker').datepicker({ 
     onSelect : function(date_string,instance) 
     { 
     var date_obj = new Date(date_string); 
     $('#month span').text(String("00"+date_obj.getMonth()).slice(-2)); 
     $('#year span').text(date_obj.getFullYear()); 
     $('#day span').text(String("00"+date_obj.getDate()).slice(-2)); 
     } 
    }); 
    } 
}; 

$(document).ready(function(){ 
    obj.init(); 
}); 

これは出発点ですが、あなたのニーズに合っていると思います。これはあなたの要件へのアプローチのいずれかになりますが、まさにそれを解決していません>https://jsfiddle.net/mLcpwdra/1/

+0

これはユーザーフレンドリーではありません。ユーザーは、矢印を手動でクリックして、選択するのではなく、自分が望む年にする必要があります。 –

+0

**私はこれが出発点であることを指摘します**。あなたはそれを細かくチューニングするためにあなた自身でdatepickerオプションで遊ぶことができます。私は私のフィドルがオブジェクトへのdatestringを管理し、そのデータをdom要素に正しく設定する方法を示していると思います。 – Nineoclick

+0

ここを確認http://stackoverflow.com/a/10876767/7324164 –

0

- YY年をいじる「フォーマット」:これは

UPDATEに役立ちます願っています。ここで

は、HTMLを行く:ここ

<select class="form-control" id="yearMonthInput"></select> 

はJavaScriptを行く:

var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 

    for (i = new Date().getFullYear() ; i > 2008; i--) { 
     $.each(months, function (index, value) { 
      $('#yearMonthInput').append($('<option />').val(index + "_" + i).html(i + " " + value)); 
     });     
    } 

はそれを試してみます!あなたが探しているものではありません。

関連する問題