gpt4 book ai didi

javascript - Highstock inputDateParser 触发三次

转载 作者:搜寻专家 更新时间:2023-11-01 04:31:35 25 4
gpt4 key购买 nike

我不确定是什么导致它在通过 date calendar 选择日期后触发三次.这是为 rangeSelector

设置的选项
rangeSelector:{
enabled:true,
inputEnabled: true,
inputDateFormat: '%d/%m/%Y',
inputEditDateFormat: '%d/%m/%Y',
inputDateParser: function (value) {
value = value.split('/');
console.log(value);
return Date.UTC(
parseInt(value[0]),
parseInt(value[1]) - 1,
parseInt(value[2])
);
}
}

通过使用 backbone.view jquery 选择器,这是我如何启动图表

this.$el.highcharts(Options, this.extra);

extra作为触发日期选择器的附加设置

highlightSer: function (chart){         
setTimeout(function () {
$('input.highcharts-range-selector', $(chart.container).parent())
.datepicker({
format: "dd/mm/yyyy",
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
orientation: "auto right"
});
}, 0);
}

有人遇到过吗?

最佳答案

来自 this SO 的@seeARMS 解决方案为我工作,有一个修改:

为您的事件创建一个单独的功能

一个函数具有 datePicker 方法和您的设置:

$('input_with_date_picker').datePicker({...});

一个单独的函数控制您的 on changeDate 事件:

$(document).on('changeDate', 'input_with_date_picker', function({..do something..}));

或:

$('input_with_date_picker').on('changeDate', function({..do something..}));

更新:

The fiddle you provided由于您添加的功能,评论中的内容按预期工作:

$('input.highcharts-range-selector').on('changeDate', function(e) {
alert(e.date);
});

在页面加载时,它会执行两次,因为您有两个匹配的元素。它们似乎都是由这个 JS 生成的:

rangeSelector:{
enabled:true,
inputEnabled:true,
inputDateFormat:"%d/%m",
inputEditDateFormat:"%d/%m/%Y",
inputDateParser: function (value) {
value = value.split('/');
console.log(value);
return Date.UTC(
parseInt(value[0]),
parseInt(value[1]) - 1,
parseInt(value[2])
);
}
},

如果您更改任一元素上的日期,该函数将执行一次,这就是您发布的目标。

您可能表示它不起作用,因为当您从日期选择器中选择新日期时日期没有更新。我不确定这是为什么,我不熟悉 highcharts。

关于javascript - Highstock inputDateParser 触发三次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25699007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com