我正在使用两个字段更新隐藏字段#start:文本字段(用于时间)和datepicker字段。但是,当我使用datepicker选择日期并且时间字段中没有任何内容时,隐藏字段不会更新。此外,当填写时间字段并通过datepicker选择日期时,日期将使用先前的选择而不是最近选择的日期更新(可能是由于输入值被更新)。如何正确编写此功能?谢谢!
$("#datepicker").blur(function () {
var date = $(this).val();
var time = $('#time').val();
$("#start").val(date + time.toString(' HH:mm').toString());
});
答案 0 :(得分:3)
请勿使用.blur(),请使用datepicker的onSelect事件。
<强> jsFiddle example 强>
<强>的jQuery 强>
$("#datepicker").datepicker({
onSelect: function(dateText, inst) {
var date = $(this).val();
var time = $('#time').val();
$("#start").val(date + time.toString(' HH:mm').toString());
}
});
答案 1 :(得分:1)
你应该添加'onSelect'事件处理程序以及'blur'事件处理程序。 请参见示例on jsfiddle
$("#datepicker").datepicker({onSelect: populateHidden});
$("#datepicker").blur(populateHidden);
function populateHidden()
{
var date = $("#datepicker").val();
var time = $('#time').val();
$("#start").val(date + ' ' + time);
}