jquery datepicker在IE9中重新打开
Posted
技术标签:
【中文标题】jquery datepicker在IE9中重新打开【英文标题】:jquery datepicker reopening in IE9 【发布时间】:2012-04-05 06:13:33 【问题描述】:在 IE9 中看到 datepicker 的一个令人讨厌的行为。 datepicer 确实有效,但在弹出日历上单击所选日期后会再次弹出。用户必须单击弹出日历以关闭它。以下是事件的顺序:
1) 用户点击日期选择器文本框
2) 日历弹出
3) 用户点击所需日期
4) 日期被插入到文本框中并且日历弹出立即再次打开。
5) 用户必须点击远离日历弹出窗口
6) 日历弹出窗口关闭
这在 Chrome 或 FF 中不会发生。在那里,一旦单击选定的日期,日历弹出窗口就会关闭并保持关闭状态,除非用户再次单击日历文本框。
这听起来像是我设置了错误的日期选择器还是这是一个错误?
日期选择器代码:
$(document).ready(function()
$("input:submit, button").button();
$("#VNH").css("color", "#006600");
$(".datepicker").datepicker(
dateFormat: 'yy-mm-dd'
);
$("#tools_dialog").css("visibility", "hidden");
);
在 ajax 之后:
$("#SNH").live('click', function()
var request = $.ajax(
url: "news.php",
type: "GET",
success: function(html)
$("#topcontainer").html(html);
$( ".datepicker" ).datepicker(
dateFormat: 'yy-mm-dd'
);
);
);
使用 jquery-1.6.2.min.js 和 jquery-ui-1.8.15.custom.min.js
感谢您的帮助。
最好的问候,
戴夫
【问题讨论】:
【参考方案1】:您创建了两次日期选择器(DOM 加载后和 AJAX 调用之后)。尝试从 AJAX 调用中删除 .datepicker 属性。
这一行: $( ".datepicker" ).datepicker( dateFormat: 'yy-mm-dd' );
【讨论】:
如果没有 ajax 回调,日期选择器根本不起作用。它必须在ajax之后反弹。我错了吗? 如果我从 AJAX 调用中删除 .datepicker 属性,我仍然会得到重复的弹出行为,并且 datepicker 在 AJAX 调用后不再工作(单击文本框时没有任何反应)。以上是关于jquery datepicker在IE9中重新打开的主要内容,如果未能解决你的问题,请参考以下文章
如何从 DatePicker ui jquery 中删除时间
jquery ui Datepicker minDate 的重新初始化失败