嗨,我一直在尝试获取引导日期选择器的日期,并且能够执行该操作,但它似乎会触发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(){};
但这不会关闭日期选择器,希望对此有一个简单的解决方案。谢谢
它不能解决问题,但是我使用的是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] 删除。
我来说两句