如何查找jquery datepicker条目是否触发了输入模糊事件?

时间:2013-08-08 10:37:19

标签: jquery jquery-ui-datepicker

我正在使用jquery Datepicker验证文本输入的blur事件。 想要仅在用户离开文本输入时进行验证。 目前,模糊事件会触发Datepicker的每个值更改。 如何知道事件是否来自Datepicker的值变化?

2 个答案:

答案 0 :(得分:0)

如果您使用

,则可以这样做
$(date-picker-selector).click(function(){
.......//Your code to validate.
})

而不是文本输入上的.blur。 .blur将会触发该函数,即使该值不是来自datepicker。

或设置一个标志,

var flag = "false";

$(date-picker).click(function(){
      flag = "true";
      $(input-box).focus(); //You need this only if clicking on date-picker removes focus from the text input.
});

$(input-box).blur(function(){
   if (flag=="true"){  
   validate(input) // validate the input.
   flag = "false"; //set flag to false again for newer input, thus waiting for newer input.
   }  
})
  

但是当用户点击日期选择器窗口上的任何内容时,不仅在选择日期时,点击事件也将被触发。我需要   仅当选择了日期时,此标志才设置为true。

然后所选的值将为空,解决方案为here ...

答案 1 :(得分:-1)

再次感谢OP。我已经找到了一个最适合当前站点代码结构的解决方案: 我在Datepicker beforeShow事件上将标记设置为“ true ”,并在onClose事件中将其设置为“ false ”。使用this solution选择日期后,Datepicker也没有关闭。