我有以下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();
});
答案 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();
});
});