JQuery datepicker没有更新.blur上的隐藏字段

时间:2012-06-26 20:39:44

标签: jquery jquery-ui datepicker uidatepicker jquery-ui-datepicker

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

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

2 个答案:

答案 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);
}