Jquery 如何将日期转移到另一个输入字段?

Jquery 如何将日期转移到另一个输入字段?,jquery,input,bootstrap-datepicker,Jquery,Input,Bootstrap Datepicker,我想在我的输入字段startdate中显示我从.startdate\u输入中选择的日期。当我清空.startdate\u输入字段时,.startdate字段也应该再次为空 $('.date').datepicker({ 日期格式:“dd-mm-yy”, minDate:“+5d”, 变化月:对, 变化年:是的, altField:#idTourDateDetailsHidden“, 格式:“年月日” }); 函数日期格式(日期,输出){ var date_f=$(date).val(); 如

我想在我的输入字段
startdate
中显示我从
.startdate\u输入中选择的日期。当我清空
.startdate\u输入
字段时,
.startdate
字段也应该再次为空


$('.date').datepicker({
日期格式:“dd-mm-yy”,
minDate:“+5d”,
变化月:对,
变化年:是的,
altField:#idTourDateDetailsHidden“,
格式:“年月日”
});
函数日期格式(日期,输出){
var date_f=$(date).val();
如果(日期f=“”){
var结果=“”;
}否则{
var结果=时刻(日期“DD/MM/YYYY”)。格式(“YYYY-MM-DD HH:MM:00”);
$(输出).val(结果);
}
}
$(“输入,选择”)。打开(“更改键控粘贴”,函数(){
日期格式(“.startdate_input”、“.startdate”);
});

我在输入字段中没有得到任何结果。
。开始日期

您已经非常接近了,但是您的代码存在一些问题: 首先,
$(“输入,选择”)。在(“更改键控粘贴”功能上(){
日期格式(“.startdate_input”、“.startdate”);
});应在加载完整文档后执行,以便在加载实际输入之前不会运行。
其次,dateformat函数中存在一些作用域问题(如果结果为空,则在输出结果时,它将不知道结果变量的值,因为在本例中它没有声明)。
最后,但这可能只是你的小提琴中的一个问题,moment.js没有包括在内(我在下面提供的小提琴中添加了它)

我在这里解决了这些问题:

 $('.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");
    })
  });

您还可以看到它在这里运行:

jsiddle不工作,请检查控制台错误是否需要?您当时很接近。@Satpal您做了哪些更改使其工作?添加了
$(output).val(“”);
和力矩库。我建议您将
更改
事件处理程序绑定为
$('.date')。日期选择器({})。on(“输入更改”,函数(e){dateformat(“.startdate_input”,“.startdate”);})
好的!太好了,谢谢。我错过了
 $('.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");
    })
  });