使用Jquery的Datepicker在选择日期后失去焦点到文本框。我正在使用jquery-ui-1.9.2。当选择日期时,焦点不会出现在文本框中。任何解决方案?
答案 0 :(得分:4)
尝试使用以下代码。
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;
}
});
答案 1 :(得分:1)
$(".datepicker").datepicker({
onClose: function () {
$(this).parents().nextAll().find($(":input[type !='hidden']")).first().focus();
}
});
});
我找到了一种更简单的方法,可以将重点放在下一个输入上,无论它是如何嵌套的。你可以随时将.find之后的条件换成你喜欢的任何条件,它会把焦点放在那里。
答案 2 :(得分:0)
在Doc Ready上初始化所有日期记录
答案 3 :(得分:0)
$('.datepicker').datepicker(
{
onClose: function () {
this.focus();
}
});
答案 4 :(得分:0)
支持Praveen的回答。 我有一个问题。在IE上,datepicker拒绝出现每个奇怪的时间,我集中了一个字段。
此外,该解决方案存在轻微的逻辑问题(它不会影响任何内容,但仍然不正确):fixFocusIE字段正在设置选项,但后来它被调用&#34;这个&#34;,当&#34;这个&#34;指DOM元素而不是选项对象。所以基本上有两个fixFocusIE - 一个在选项中(未使用),第二个在DOM元素本身上。
而且$ .browser.msie也不再工作了,我不得不发明自己的IE探测器。
我的工作代码如下:
Unable to initialize device PRN