我正在使用daterangepicker版本:3.0.3
我有一个单选按钮对,可让用户在本地时间和utc时间之间切换。当我单击单选按钮时,我要删除并重新附加daterangepicker构造函数,以便可以指定其他预定义的日期范围。
但是,单击单选按钮后,当我单击“应用”或单击预定义的日期范围时,daterangepicker会停止触发事件。
我在jsfiddle上做了一个程序的简化版本,apply事件仍然没有触发
https://jsfiddle.net/flexmcmurphy/re62qhb8/4/
代码如下:
int[][] board = new int[9][9];
BufferedReader br = new BufferedReader(new FileReader(new File("/path/to/file")));
String line;
int lineNumber = 0;
while ((line = br.readLine()) != null) {
String[] numbers = line.split("");
for (int columnNumber = 0; columnNumber < numbers.length; columnNumber++)
board[lineNumber][columnNumber] = Integer.parseInt(numbers[columnNumber]);
lineNumber++;
}
br.close();
预期结果: 当我更改选定的单选按钮,然后选择一个预定义的日期范围或在daterangepicker中单击“应用”时,apply.daterangepicker事件应触发,并会出现一个alert()弹出窗口,表明该事件已触发。
即:应删除daterangepicker构造函数,并使用新属性重新附加。
之所以会这样,是因为更改单选按钮时会调用我的attachpicker()方法。
实际结果: 相反,当我更改选定的单选按钮,然后选择一个预定义的日期范围或在daterangepicker中单击“应用”时,我没有弹出警告,表明已触发Apply事件。
但是...
当我更改选定的单选按钮时,出现在文本框中的startDate和endDate会正确更新。
在选择本地单选按钮的情况下: “ startDate”:“ 04/08/2019” “ endDate”:“ 04/10/2019”
已选择“ UTC单选按钮”: “ startDate”:“ 04/08/2019” “ endDate”:“ 04/14/2019”
所以这告诉我daterangepicker构造函数的确与新属性重新绑定在一起,只是apply事件停止触发。
那是为什么?
答案 0 :(得分:1)
您正在调用的remove()
函数会删除您要销毁的日期范围选择器的所有事件侦听器。
将您创建的apply.daterangepicker
侦听器移到attachpicker()
函数中。