如何找到 Bootstrap 日期选择器中取消选择的日期?
How to find which date is deselected in Bootstrap datepicker?
我正在尝试找到一种方法来创建一个包含所有选定日期的数组,而且如果有人取消选择日期,那么它将从数组中删除该日期。
我编写了以下 JavaScript 代码来获取选定和取消选定的日期。
我正在使用 bootstrap datepicker。
$(function() {
$('#disc_single_datepicker_1').datepicker().on('show', function(event) {
DatePicker.hideOtherMonthDays();
});
var input_val = '';
$('#disc_single_datepicker_1').on('changeDate', function(event) {
//console.log(moment(event.date).format('MM/DD/YYYY h:mm a'));
var storage = new Array();
var formatted_date = moment(event.date).format('DD/MM/YYYY');
console.log(formatted_date);
if (formatted_date != '') {
input_val = input_val + formatted_date + ",";
}
var exp = input_val.split(",");
for (var i = 0; i < exp.length; i++) {
if (exp[i] != '') {
storage[i] = exp[i];
}
}
console.log(storage);
});
});
我正在尝试查找用户从日期选择器中取消选择的日期。
我也在使用一次只显示当前月份日期的功能。函数调用 Datepicker.hideOtherMonthDays()
所以它显示如下:
提前致谢:)我已经尝试了很多方法来寻找方法,但不确定如何做到这一点。:)
我相信你的做法是错误的。
不用知道哪个被删除了select,只需用日期 select 重新创建数组即可。
当你 select 一个日期时,datepicker
returns 一个包含所有日期的事件 selected。
如果您打印以安慰实际事件,您可以看到日期 属性。
然后您可以根据需要循环遍历该数组。
这样你就不需要知道 deselected.
的日期了
这是一个最简单的代码示例。
$('#disc_single_datepicker_1').datepicker({
multidate: true
}).on('show', function(event) {
DatePicker.hideOtherMonthDays();
}).on('changeDate', function(event) {
var storage = new Array();
//here's the magic
for (var i = 0; i < event.dates.length; i++) {
var formatted_date = moment(event.dates[i]).format('DD/MM/YYYY');
storage.push(formatted_date);
}
console.log(storage);
});
Here's a working fiddle(打开控制台)。
PS:如果您想在其他地方使用它,您可能需要将变量 storage
移出范围。
我正在尝试找到一种方法来创建一个包含所有选定日期的数组,而且如果有人取消选择日期,那么它将从数组中删除该日期。
我编写了以下 JavaScript 代码来获取选定和取消选定的日期。
我正在使用 bootstrap datepicker。
$(function() {
$('#disc_single_datepicker_1').datepicker().on('show', function(event) {
DatePicker.hideOtherMonthDays();
});
var input_val = '';
$('#disc_single_datepicker_1').on('changeDate', function(event) {
//console.log(moment(event.date).format('MM/DD/YYYY h:mm a'));
var storage = new Array();
var formatted_date = moment(event.date).format('DD/MM/YYYY');
console.log(formatted_date);
if (formatted_date != '') {
input_val = input_val + formatted_date + ",";
}
var exp = input_val.split(",");
for (var i = 0; i < exp.length; i++) {
if (exp[i] != '') {
storage[i] = exp[i];
}
}
console.log(storage);
});
});
我正在尝试查找用户从日期选择器中取消选择的日期。
我也在使用一次只显示当前月份日期的功能。函数调用 Datepicker.hideOtherMonthDays()
所以它显示如下:
提前致谢:)我已经尝试了很多方法来寻找方法,但不确定如何做到这一点。:)
我相信你的做法是错误的。 不用知道哪个被删除了select,只需用日期 select 重新创建数组即可。
当你 select 一个日期时,datepicker
returns 一个包含所有日期的事件 selected。
如果您打印以安慰实际事件,您可以看到日期 属性。
然后您可以根据需要循环遍历该数组。 这样你就不需要知道 deselected.
的日期了这是一个最简单的代码示例。
$('#disc_single_datepicker_1').datepicker({
multidate: true
}).on('show', function(event) {
DatePicker.hideOtherMonthDays();
}).on('changeDate', function(event) {
var storage = new Array();
//here's the magic
for (var i = 0; i < event.dates.length; i++) {
var formatted_date = moment(event.dates[i]).format('DD/MM/YYYY');
storage.push(formatted_date);
}
console.log(storage);
});
Here's a working fiddle(打开控制台)。
PS:如果您想在其他地方使用它,您可能需要将变量 storage
移出范围。