我想在输入字段.startdate_input
中显示startdate
中的所选日期。当我清空.startdate_input
字段时,.startdate
字段也应该为空。
http://jsfiddle.net/93eTU/2524/
<input type="text" class="startdate_input date form-control" value="">
<input value="" name="startdate" class="startdate" type="text">
<script>
$('.date').datepicker({
dateFormat: 'dd-mm-yy',
minDate: '+5d',
changeMonth: true,
changeYear: true,
altField: "#idTourDateDetailsHidden",
altFormat: "yy-mm-dd"
});
function dateformat(date, output) {
var date_f = $(date).val();
if (date_f == '') {
var result = '';
} else {
var result = moment(date_f, "DD/MM/YYYY").format("YYYY-MM-DD HH:mm:00");
$(output).val(result);
}
}
$("input, select").on("change keyup paste", function () {
dateformat(".startdate_input", ".startdate");
});
</script>
我的输入字段.startdate
答案 0 :(得分:1)
您已经非常接近了,但是您的代码存在一些问题:
首先,$("input, select").on("change keyup paste", function () {
dateformat(".startdate_input", ".startdate");
});
应该在加载完整文档后完成,这样它就不会在加载实际输入之前运行。
其次,你的dateformat函数中存在一些范围问题(当输出结果为空时,它不知道结果变量的值,因为在这种情况下它没有被声明。
最后,但也许这只是你的小提琴中的一个问题,那个时刻。不包括在内(我已将它添加到下面提供的小提琴中)。
我在这里解决了这些问题:
$('.date').datepicker({
dateFormat: 'dd-mm-yy',
minDate: '+5d',
changeMonth: true,
changeYear: true,
altField: "#idTourDateDetailsHidden",
altFormat: "yy-mm-dd"
});
function dateformat(date, output) {
var date_f = $(date).val();
var result = '';
if (date_f != '') {
var result = moment(date_f, "DD/MM/YYYY").format("YYYY-MM-DD HH:mm:00");
}
$(output).val(result);
}
$(document).ready(function() {
$("input, select").on("change keyup paste", function () {
dateformat(".startdate_input", ".startdate");
})
});
您还可以在此处看到它:http://jsfiddle.net/rqb21bo0/