0

我正在使用两个字段更新一个隐藏字段#start:一个文本字段(用于时间)和一个日期选择器字段。但是,当我使用 datepicker 选择日期并且时间字段中没有任何内容时,隐藏字段不会更新。此外,当填写时间字段并通过 datepicker 选择日期时,日期会使用上一个选择而不是最近选择的日期进行更新(可能是由于输入值正在更新)。如何正确编写此函数?谢谢!

$("#datepicker").blur(function () {
        var date = $(this).val();
        var time = $('#time').val();
        $("#start").val(date + time.toString(' HH:mm').toString());
});
4

2 回答 2

3

不要使用 .blur(),使用 datepicker 的onSelect事件。

jsFiddle 示例

jQuery

$("#datepicker").datepicker({
    onSelect: function(dateText, inst) {
        var date = $(this).val();
        var time = $('#time').val();
        $("#start").val(date + time.toString(' HH:mm').toString());
    }
});​
于 2012-06-26T21:00:24.703 回答
1

您应该添加“onSelect”事件处理程序以及“模糊”事件处理程序。请参阅jsfiddle 上的示例

$("#datepicker").datepicker({onSelect: populateHidden});
$("#datepicker").blur(populateHidden);


function populateHidden()
{
        var date = $("#datepicker").val();
        var time = $('#time').val();
        $("#start").val(date + ' ' + time);
}
于 2012-06-26T21:04:40.350 回答