jquery - 过期后从选择选项中删除日期
问题描述
我有一个基本的选择字段表单,用户可以为他们想要更多信息的课程选择日期。这些日期是手动添加的,不会从数据库等中填充。
选择后,我有一个脚本,它动态地使用这个选定的日期来填充 cf7 查询表格,这样我就知道课程名称和感兴趣的课程日期。
我想弄清楚的是如何删除已过期的选择字段中的日期并每天更新以确保不出现旧的课程日期。
提前谢谢了。
if (jQuery(".booking-date select").length) {
var options = jQuery(".booking-date select > option").clone();
jQuery('select.wpcf7-select[name="coursedates"]').empty().append(options);
// Add on change Function
jQuery('.booking-date select').on('change', function() {
var val = jQuery(this).prop('selectedIndex');
jQuery('select.wpcf7-select[name="coursedates"]').prop('selectedIndex', val);
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<strong>Course Dates: </strong>
<div class="booking-date">
<select class="coursedates">
<option>17 December - 20 December 2019</option>
<option>13 July - 17 July 2020</option>
<option>14 December - 18 December 2020</option>
</select>
</div>
解决方案
为您的选项分配一个包含标准日期格式的值将允许您轻松比较 Date 对象。
$('.coursedates option').each(function() {
var courseEndDate = new Date($(this).val());
var dateNow = new Date();
if (dateNow > courseEndDate) {
$(this).remove();
console.log('Removing ' + $(this).text() + '. Course has ended.');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="coursedates">
<option value="2019-12-20">17 December - 20 December 2019</option>
<option value="2020-07-17">13 July - 17 July 2020</option>
<option value="2020-12-18">14 December - 18 December 2020</option>
</select>
推荐阅读
- php - 是否可以为 Wordpress 自定义帖子类型创建自定义编辑器?
- android - 如何用键值格式打破 JSON?
- excel - 数据验证 VBA 在 Win7 上运行 Excel 2016 时有效,但在 Windows 10 上无效
- php - Laravel + Paypal + cUrl + 离子
- python - 合并系列和数据框
- ruby-on-rails - Rails 5:为什么我的图片资源不能在生产环境中加载?
- sql - 查询优化以通过连接表以及 jsonb 字段上的操作和条件来获取数据
- python - 如何在 matplotlib 中将文本框附加到鼠标光标?
- java - java.net.MalformedURLException:对于输入字符串:“8080undefined”在 Wildfly 15 中运行或调试 Netbeans Java 项目时
- c++ - 使用二维数组的 C++ 程序,两次向用户询问两个输入。它需要将这些输入显示为输出