Bootstrap Datepicker更改触发3次

艰苦健身

嗨,我一直在尝试获取引导日期选择器的日期,并且能够执行该操作,但它似乎会触发3次。注意:这不是jquery日期选择器,而是引导日期选择器。

使用此日期选择器:https : //github.com/eternicode/bootstrap-datepicker,而不是较旧的eyecon.ro。

 $(".date-picker").on("change", function(e) {
      contents = $(this).val();
      id = $(this).attr('id');
      console.log("onchange contents: " + contents);
      console.log("onchange id: " + id);

 });

HTML:

<input id="start_date" type="text" data-date-format="yyyy-mm-dd" class="date-picker form-control" />

除了变更以外,我还使用了其他一些选择,例如

$('.date-picker').datepicker().change(function(){};

但这不会关闭日期选择器,希望对此有一个简单的解决方案。谢谢

pgee70

它不能解决问题,但是我使用的是datepicker通过ajax发布,因此3个change事件导致我出现问题-第3个事件始终失败。即使文档说要使用changeDate事件,对我来说也不应该将输入标签的change事件触发3次。该值没有变化3倍!

我编写了一个简单的“反跳”功能来解决此问题。不能解决问题-这是由于以下方法触发了多个更改事件:小部件的setValue(第508行)_setDate :(第1048行)和setValue(第508行)(版本1.3.0)。

 var lastJQueryTS = 0 ;// this is a global variable.
 ....
 // in the change event handler...
    var send = true;
if (typeof(event) == 'object'){
    if (event.timeStamp - lastJQueryTS < 300){
        send = false;
    }
    lastJQueryTS = event.timeStamp;
}
if (send){
    post_values(this);
}

这非常简单,只需找到jquery'event',并确保忽略300ms窗口中的值。在我的测试中,这一切发生在30毫秒左右。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章