【问题标题】:How to get a selected option's value如何获取选定选项的值
【发布时间】:2011-11-24 22:09:00
【问题描述】:
    function changeDay(monthSelect){
    dayVal = day.selected.value;
    //secili ayi al
    optVal = monthSelect.selected.value;
    if(optVal=='Şubat' && dayVal > 29){
        modifyDay(29);
    }
}

我收到dayVal = day.selected.value 行的此错误消息:

未捕获的类型错误:无法读取未定义的属性“值”

我怎样才能达到所选选项的价值?

【问题讨论】:

  • 我会推荐看一下 jQuery,它会让这些任务变得更简单和更有条理。

标签: javascript html


【解决方案1】:

您可以使用选择元素的“selectedIndex”属性,以及“options”数组:

var val = monthSelect.options[monthSelect.selectedIndex].value;

选项本身就是你从数组中得到的:

var theOption = monthSelect.options[monthSelect.selectedIndex];

如果您正在处理旧版本的 IE(可能是所有版本;我很久以前就停止对此进行实验 :-),这是唯一安全的方法,但有些浏览器确实将“值”属性设为select 元素适当地跟踪选定的选项值。

【讨论】:

  • monthSelect.value 也能胜任工作,使用安全。
  • @roberkules 这可能是真的,但我的爬行动物大脑记得它在 IE6 中不起作用。
  • ... 或者可能是 Mozilla 的旧版本(例如,Firefox 之前的 Mozilla)。
  • 刚刚用IETester检查过,确实有效。无论如何,是时候放手了:)
【解决方案2】:

最简单的取值方式:

day.value

它适用于所有浏览器,甚至是 IE 6

演示:http://jsfiddle.net/roberkules/8xwhG/

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 2020-03-18
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 2017-05-13
    • 2022-11-23
    • 1970-01-01
    • 2020-10-05
    相关资源
    最近更新 更多