0

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

4

2 回答 2

0

如果你使用,你可以这样做

$(date-picker-selector).click(function(){
.......//Your code to validate.
})

而不是文本输入上的 .blur 。.blur当然会触发该功能,即使该值不是来自日期选择器。

或者设置一个标志,

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.
   }  
})

但是当用户点击日期选择器窗口上的anywere时,也会触发点击事件,而不仅仅是在选择日期时。我只有选择日期才需要此标志设置为true。

然后选定的值将为空,解决方案在这里...

于 2013-08-08T10:41:19.597 回答
-1

再次感谢 OP。我想出了一个最适合当前站点代码结构的解决方案:我在Datepicker beforeShow事件上将标志设置为“ true ”,在onClose事件上将其设置为“ false ”。此外,使用此解决方案选择日期后 Datepicker 也不会关闭。

于 2013-08-13T08:54:49.007 回答