2017-01-24 5 views
0

Я хочу показать свою выбранную дату от .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

JSfiddle не работает, проверьте ошибку консоли –

+2

Вам нужно htt р: //jsfiddle.net/satpalsingh/bh8godjn/? Тогда ты был близок. – Satpal

+0

@Satpal Что вы изменили, чтобы заставить его работать? – Jarla

ответ

1

Вы уже были очень близки, однако там было несколько проблем с вашим кодом: Во-первых $("input, select").on("change keyup paste", function() { dateformat(".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"); 
    }) 
    }); 

Вы также можете увидеть его здесь: http://jsfiddle.net/rqb21bo0/

Смежные вопросы