【问题标题】:JQuery datepicker not updating hidden field on .blurJQuery datepicker不更新.blur上的隐藏字段
【发布时间】:2012-06-28 06:09:14
【问题描述】:
我正在更新一个隐藏字段#start,其中包含两个字段:一个文本字段(用于时间)和一个日期选择器字段。但是,当我使用 datepicker 选择日期并且时间字段中没有任何内容时,隐藏字段不会更新。此外,当填写时间字段并通过 datepicker 选择日期时,日期会使用先前的选择而不是最近选择的日期进行更新(可能是由于输入值正在更新)。如何正确编写此函数?谢谢!
$("#datepicker").blur(function () {
var date = $(this).val();
var time = $('#time').val();
$("#start").val(date + time.toString(' HH:mm').toString());
});
【问题讨论】:
标签:
jquery
jquery-ui
datepicker
uidatepicker
jquery-ui-datepicker
【解决方案1】:
不要使用 .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());
}
});
【解决方案2】:
您应该添加“onSelect”事件处理程序以及“模糊”事件处理程序。
见例子on jsfiddle
$("#datepicker").datepicker({onSelect: populateHidden});
$("#datepicker").blur(populateHidden);
function populateHidden()
{
var date = $("#datepicker").val();
var time = $('#time').val();
$("#start").val(date + ' ' + time);
}