【问题标题】:IE7 not returning value of drop downIE7不返回下拉值
【发布时间】:2012-10-14 22:33:16
【问题描述】:

我有一个小的 javascript 控件,允许用户选择日期和时间。

部分控件使用另一个日期选择器。此日期选择器按预期工作,并将所选值放入字段中。然后用户从下拉菜单中选择小时、分钟(以 15 分钟为增量)和上午/下午。

数据看起来像这样:

followUpDate = 10/24/2012
hour = 06
minute = 30
ampm = AM

但是,IE7 不会返回下拉列表的值。

我正在使用

var hour = e.options[e.selectedIndex].value;

和小时(和后续变量)在 IE7 中仍未定义。但是,在 IE8+ 和其他主要浏览器中,这些值是正确的。

【问题讨论】:

  • 为什么不直接为正确的日期创建一个 Date 实例,然后使用 setter API(setHours()setMinutes()setSeconds())显式设置小时/分钟/秒?跨度>
  • @Pointy 尝试您的建议实际上让我发现了错误。我已经回答了我自己的问题。感谢您的指导。
  • @justnS 答案将使这个问题成为“过于本地化”的教科书示例
  • @millimoose 很好地改变了标题,以便 IE7 不返回默认选项值可以赎回它:-)
  • @millimoose 我已更改问题以反映我遇到的潜在问题。

标签: javascript datetime cross-browser internet-explorer-7


【解决方案1】:

我的问题是我正在使用:

var hour = e.options[e.selectedIndex].value;

代替:

 var hour = e.options[e.selectedIndex].text;

所以 IE7 不会获得下拉列表的值,而这些值保持在未定义状态。但是,IE8+ 和其他浏览器接受 .value 并按预期工作。

【讨论】:

    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多