jquery datepicker点击日期框后没有往文本框填值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery datepicker点击日期框后没有往文本框填值相关的知识,希望对你有一定的参考价值。
不用其他的插件,就用datepicker ,希望知道的前辈帮帮忙,刚接触jquery
配置的不对吧~ 给你个我们项目中的配置看看:$('#datato').datepicker(
dateFormat: 'mm/dd/yy',
yearRange: '2009:2099',
showOtherMonths: true,
showWeeks: true,
clearText:'clear',
closeText:'close',
prevText:'prev',
nextText:'next',
currentText:' ',
minDate:"+1D",
monthNames:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Aep','Oct','Nov','Dec'],
changeFirstDay: false,
buttonImage: '/img/small_icons/cal.png',
showOn: 'both'
);
$('#datato') 是文本框的jquery对象~ 参考技术A <!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function()
$("#datepicker").datepicker();
);
</script>
</head>
<body style="font-size:62.5%;">
<input type="text" id="datepicker">
</body>
</html> 参考技术B 推荐用My97DatePicker 参考技术C 推荐用My97DatePicker
Jquery datepicker下拉列表显示当前日期而不是所选日期
如果你看,开始日期的选定值是'2016年12月',但当我点击它时,它显示当前的月份和年份。它应显示所选值(2016年12月)。知道如何解决它?
以下是开始日期datepicker的代码:
$('#startDateEdEdit').datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
setDate: startDateEd,
yearRange: `1920:${todayYear+10}`,
onClose: function(dateText, inst) {
startDateEdEdit = new Date(inst.selectedYear, inst.selectedMonth, 1);
$(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
if(endDateEdEdit < startDateEdEdit){
$('#endDateEdEdit').datepicker('setDate',null);
}
else {
var duration = $('#endDateEdEdit').datepicker('getDate')?durationCalculator(startDateEdEdit, endDateEdEdit):null;
document.getElementById('durationEdit').value = duration.duration;
document.getElementById('eduEdit-duration').value = duration.years;
}
}
});
答案
datepicker dateformat字段似乎存在一些问题。你可以做的是用dateFormat: 'MM yy'
代替dateFormat: 'dd MM, yy'
取代那会有用吗?
另一答案
您需要在onClose和beforeShow事件之间进行调整。
$(function() {
$('.date-picker').datepicker( {
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy'
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));
}
}
});});
以上是关于jquery datepicker点击日期框后没有往文本框填值的主要内容,如果未能解决你的问题,请参考以下文章
jQuery DatePicker:点击今天然后完成时,不保留今天的日期
jQuery UI Datepicker:如何在特定日期添加可点击事件?
jQuery UI 实例 - 日期选择器(Datepicker)