我正在尝试在我的页面上运行jQuery UI Datepicker,并且它很好,除了一件小事:它在调用对话框方法时自动添加一个输入字段。
这是我的代码
$('.select_date').each(function(i) {
var input_name = $(this).attr('data-input');
$('#'+input_name).datepicker();
$(this).click(function() {
var position = $(this).offset();
$('#'+input_name).datepicker('dialog', "10/12/2012", function(date, inst) {
$('#'+input_name).val(date);
},
{},
[position.left + $(this).width() + 5, position.top]
);
});
});
我要做的是使用类.select_date遍历按钮元素,并且对于每个元素(在页面上有一个),它应该将datepicker绑定到具有数据id的隐藏字段 - 当前按钮的输入属性。
然后我确定,当我点击按钮时,对话框会打开,当我在日历中选择一个日期时,该值会转移到隐藏字段。
所有这些确实很有效,但出于某种原因,当第一次点击按钮时,会将此字段添加到DOM中:
<input type="text" style="position: absolute; top: 265px; width: 0px; left: 674.5px;" id="dp1354917526755">
有趣的是,输入字段的位置与datepicker的位置完全相同,只是在左侧位置添加了10px。