如何将日期传输到另一个输入字段?

时间:2017-01-24 10:55:53

标签: jquery input bootstrap-datepicker

我想在输入字段.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

中没有任何结果

1 个答案:

答案 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/