使用Jquery的Datepicker在选择日期后失去焦点到文本框。我使用的是jquery-ui-1.9.2。当选择日期时,焦点不会进入文本框。任何解决方案?使用Jquery的日期选择器在选择日期后失去焦点到文本框。
1
A
回答
0
在Doc Ready上初始化所有的datepckers
3
尝试使用下面的代码。
HTML代码:
<input type="text" id="date"/>
JQuery的:
$("#date").datepicker({
onClose: function() {
$(this).focus();
}
});
编辑:上面的代码具有在IE中的问题,该日期选择器是没有得到关闭。在此blog中可以找到更多信息。
<script language='javascript' src="jquery-migrate-1.2.1.js"></script> // download and add this
$("#date").datepicker({
/* fix buggy IE focus functionality */
fixFocusIE: false,
onClose: function(dateText, inst) {
this.fixFocusIE = true;
this.focus();
},
beforeShow: function(input, inst) {
var result = $.browser.msie ? !this.fixFocusIE : true;
this.fixFocusIE = false;
return result;
}
});
0
$('.datepicker').datepicker(
{
onClose: function() {
this.focus();
}
});
1
$(".datepicker").datepicker({
onClose: function() {
$(this).parents().nextAll().find($(":input[type !='hidden']")).first().focus();
}
});
});
我发现,将会把重点放在下一个输入,不管如何嵌套的它是一个更简单的方法。您可以随时将.find之后的条件替换为您喜欢的任何内容,并将重点放在此处。
0
普拉文的答案。 我有一个问题。在IE datepicker拒绝显示每个奇怪的时间我集中一个领域。
此外,这个解决方案存在一个轻微的逻辑问题(它不影响任何内容,但仍然不正确):fixFocusIE字段正在选项上设置,但后来它被称为“this” ,当“this”引用DOM元素而不是选项对象时。所以基本上有两个fixFocusIE--一个在选项中(未使用),另一个在DOM元素本身。我不得不发明自己的IE探测器。
我工作的代码看起来像这样:
var el = $("selector of element I need to assign to datepicker");
var options = {}; // actually I fill options from defaults and do some other manipulations, but I left it as empty object here for brevity
options.fixFocusIE = false;
function detectIE() {
var ua = window.navigator.userAgent;
if(ua.indexOf('MSIE ') > 0 ||
ua.indexOf('Trident/') > 0 ||
ua.indexOf('Edge/') > 0) {
return true;
}
// other browser
return false;
}
/* blur() and change() are needed to update Angular bindings, if any */
options.onSelect = function(dateText, inst) {
options.fixFocusIE = true;
$(this).blur().change().focus();
};
options.onClose = function(dateText, inst) {
options.fixFocusIE = true;
this.focus();
};
options.beforeShow = function(input, inst) {
var result = detectIE() ? !options.fixFocusIE : true;
options.fixFocusIE = false;
return result;
};
/* and this one will reset fixFocusIE to prevent datepicker from refusing to show when focusing the field for second time in IE */
el.blur(function(){
options.fixFocusIE = false;
});
el.datepicker(options);
相关问题
- 1. 使用复选框限制日期在jQuery日期选择器
- 2. 在jQuery日期选择器中选择日期和高亮日期选择器
- 3. AUI日期选择器:在元素焦点上弹出日期选择器
- 4. 日期选择器Jquery选择第一个日期后的第二个日期
- 5. 文本框内的日期选择器
- 6. 道场日期选择器jQuery的Vs的日期选择器
- 7. jQuery日期选择器 - 禁用过去的日期
- 8. 基于另一个日期选择器或文本框限制jQuery日期选择器中的日期
- 9. jQuery日期选择器 - 从第一个日期选择器中选择后禁用日期
- 10. jQuery的日期选择器选择
- 11. 日期选择器不会在日期选择后模糊IE8
- 12. 如何在选择日期后隐藏日期选择器
- 13. 禁用日期选择jQuery日期选择器
- 14. 使用Selenium在日期选择器中自动选择日期
- 15. Jquery的日期选择器不选择默认的日期
- 16. 日期选择器,jQuery的
- 17. jQuery的日期选择器 -
- 18. JQuery的日期选择器
- 19. jQuery的日期选择器
- 20. jQuery UI日期选择器失去功能'生日'datetype格式
- 21. 如何在日期选择器中禁用日期时选择其他日期选择器中的日期
- 22. jQuery的日期选择器日期选择问题
- 23. jQuery的日期选择器 - 选择日期加6天
- 24. 更改jQuery日期选择器中的日期选择其他
- 25. jQuery日期选择器,选择范围内的特定日期
- 26. jQuery的日期选择器点击的问题时,日期选择器动态
- 27. 将日期输入日期选择器时更改焦点
- 28. 出生日期文本框的日期选择器插件
- 29. 根据日期选择器中选择的日期禁用日期选择器的以前的日期
- 30. 设置日期到jQuery UI的日期选择器输入文本框