使用Jquery的Datepicker在选择日期后失去焦点到文本框。

时间:2013-05-22 10:41:04

标签: jquery-ui jquery jquery-plugins

使用Jquery的Datepicker在选择日期后失去焦点到文本框。我正在使用jquery-ui-1.9.2。当选择日期时,焦点不会出现在文本框中。任何解决方案?

5 个答案:

答案 0 :(得分:4)

尝试使用以下代码。

HTML代码:
<input type="text" id="date"/>

JQuery:

$("#date").datepicker({
    onClose: function () {
     $(this).focus();  
    } 
});

JSFiddle1

编辑:以上代码在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;
   }
}); 

JSFiddle2

答案 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