2011-07-13 59 views
0

我希望有一个下拉(选择)菜单,其中包含日期(例如6月21日)作为选项。当用户从下拉列表中选择一个日期时,该特定日期将显示(某处)的操作小时数。目前只显示当天的操作时间;这是通过JavaScript日期对象完成的。JavaScript日期对象的下拉菜单?

我想知道是否可以采取一个选定的下拉菜单选项,将其转换成适当的日期格式,然后通过当前的函数运行它,它只以当前的函数作为它的参数月和日。

更重要的是,如果任何人有更好的方式来做这样的事情,甚至连接到一些相关信息的任何想法,我会非常感激。现在,我真的不知道任何我可以效仿的例子。

+1

是的,你可以在你的下拉列表中使用onchange事件,并将值添加到你可以在事件 – Ibu

+0

@ibu,+1 forchange中访问的选项中。编辑我的答案... – AlexWebr

回答

1

每个星期的营业时间有所不同吗?为什么不把下拉列表更改为星期几(星期一,星期二等),修改JS函数以表示星期几的整数,然后修改每个<option>元素,以便它具有onclick事件绑定,用适当的整数天数来调用JS函数?

实施例:

<select> 
    <option onclick="showHoursOfOperation(0);">Sunday</option> 
    <option onclick="showHoursOfOperation(1);">Monday</option> 
    <option onclick="showHoursOfOperation(2);">Tuesday</option> 
    [ ... ] 
</select> 

编辑: 也许更优美的解决方案,从@ibu被盗。 (未经测试,可能无法正常工作)

<select onchange="showHoursOfOperation(this.selectedIndex);"> 
    <option>Sunday</option> 
    <option>Monday</option> 
    [ ... ] 
</select> 
+0

假期?例如7月1日星期一的时间为零,但7月11日星期一为8-5 –

+0

另一个'

1

你可以在服务器上生成的数据,这样的选项显示日期为'21月”或什么,并有开放时间值。或者该值可以是“21june”或类似与使用值作为密钥和小时,因为值相关对象:

var openingHours = { 
    '21June' : '08:00am - 05:30pm', 
    '22June' : '08:00am - 09:00pm', 
    ... 
} 

等。然后,只需使用所选选项的值来获得开放时间。还有很多其他方法可以解决这个问题,这取决于小时数的变化以及您想要覆盖的日期。

大多数企业只公布每周公休时间和特殊公告。

+1

似乎有很多冗余...... – AlexWebr