使用JS值未定义/未定义

时间:2016-06-21 20:06:35

标签: jquery datetime datepicker

我有以下jsfiddle:https://jsfiddle.net/tzer0syu/2/

这非常有用,但是当使用我的主要表单和引导程序的日期插件时,日期和时间字段不会更新。函数和字段的名称与小提琴中的名称完全相同,控制台中没有错误。关于我可以做什么强制检查onchange的任何想法?有没有更好的方法来进行检查并忽略它们存在的空白?

以下代码:

<input type="text" id="incidentDateTime" name="incidentDateTime" value="06/22/2016 1:30 PM" />
<input type="text" id="incidentDate" value="" />
<input type="text" id="incidentTime" value="" />

$(function () {
          function time1() {
            var dateTimeSplit = $('#incidentDateTime').val().split(' ');

            var dateSplit = dateTimeSplit[0].split('/');
            var currentDate = dateSplit[0] + '/' + dateSplit[1] + '/' + dateSplit[2];
            //currentDate is 18/10/2010

            $('#incidentDate').val(currentDate);

            var currentTime = dateTimeSplit[1] + ' ' + dateTimeSplit[2];
            //currentTime is 10:06 PM

            $('#incidentTime').val(currentTime);
    if (isNaN(incidentDateTime)) {
                     $("#incidentDate").val();
                } else {
                     $("#incidentDate").val(CurrentDate);
                }
            }
            $("#incidentDateTime").change(time1);
                 time1();
          });

1 个答案:

答案 0 :(得分:0)

好的,所以我发现问题是Bootstrap dateTimepicker插件,这里是可能有相同问题的人的完整代码:主要问题是使用正确的顺序检查onchange:dp.change not change.dp

//Date Time Split Function
         $(function () {
          function time1() {
            var dateTimeSplit = $('#incidentDateTime').val().split(' ');

            var dateSplit = dateTimeSplit[0].split('/');
            var currentDate = dateSplit[2] + '-' + dateSplit[0] + '-' + dateSplit[1];
            //currentDate is 18/10/2010

            $('#incidentDate').val(currentDate);

            var currentTime = dateTimeSplit[1] + ' ' + dateTimeSplit[2];
            //currentTime is 10:06 PM

            $('#incidentTime').val(currentTime);

            }
            $('#incidentdiscovered').on("dp.change", function () {
                time1();
            });

          });