Javascript 日期选择器-仅单独的YY和MM
我试图为YY和MM设置两个单独的字段 我现在所拥有的或多或少是我想要的,只是它只有一个领域。下面是它现在的样子:Javascript 日期选择器-仅单独的YY和MM,javascript,jquery,html,datepicker,Javascript,Jquery,Html,Datepicker,我试图为YY和MM设置两个单独的字段 我现在所拥有的或多或少是我想要的,只是它只有一个领域。下面是它现在的样子: 这是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: "-1
这是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));
}
}
$('.yyMM').datepicker({
变化月:对,
变化年:是的,
月份:[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”],
年份范围:“-100:+0”,
日期格式:“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',新日期(iYear,iMonth,1));
},
beforeShow:function(){
如果((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',新日期(iYear,iMonth,1));
$(this.datepicker('setDate',新日期(iYear,iMonth,1));
}
}
}))我试图实现的是:看看这个JSFIDLE-> 守则: html 这是一个起点,但思考适合你的需要。希望这有帮助
更新:以YY“格式”摆弄年份->这可能是满足您需求的方法之一,但并不能完全解决它 下面是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));
});
}
var月数=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
对于(i=新日期().getFullYear();i>2008;i--){
$。每个(月、功能(索引、值){
$('#yearMonthInput').append($(''.val(index+“"+i).html(i+“”+value));
});
}
试试看!尽管它并不完全是您想要的。这对用户来说并不友好。用户必须手动点击箭头才能到达他们想要的年份,而不是选择它。我指出这是一个起点。您可以自己使用datepicker选项对其进行微调。我想我的小提琴向您展示了如何将datestring管理到对象中,并将数据正确地设置到dom元素中。
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();
});
<select class="form-control" id="yearMonthInput"></select>
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));
});
}