实现此function的高效代码

在我的页面中,我有三个输入字段,“ 开始日期 ”,“ 结束日期 ”和“ 颜色 ”下拉菜单,如下所示:

  

White Black Red Green Transparent

我想为此UI提供以下function:

  1. 如果由“ 开始日期 ”和“ 结束日期 ”定义的日期范围是过去的时间段(即<=今天),则“ 颜色 ”下拉菜单应仅显示“黑色”和“白色”选项。

  2. 如果日期范围定义了未来期间(>今天),则“颜色”下拉列表仅显示“红色”和“绿色”选项。

  3. 如果日期范围包含过去几天和未来几天,则“颜色”下拉菜单仅显示“ 透明 ”选项。

如何使用高效,优雅的jQuery / javascript代码实现此function?

我目前的jQuery代码:

 $("#end_date").click(update_options()) function update_options(){ var start_date = $("#start_date").val(); var end_date = $("#end_date").val(); var startDate= new Date(start_date); var endDate= new Date(end_date); var today = new Date().setHours(0, 0, 0, 0); if(endDate < today){ $('#color').get(2,3,4).remove() } else if(startDate=today){ $('#color').get(0,1,2,3).remove() } else{ $('#color').get(0,1,4).remove() } } 

这似乎不正常,不优雅

这些插件中的任何一个都可能是您正在寻找的。

  • 链式
  • 依赖选择
  • 选择链
  • 相关选择