0
  1. 假设用户SPACE在文本字段中点击。我想检查选择框中的值。我input.addEventListener('keydown', function(e)...用来跟踪SPACE-hitting-point 但如何获得选择块的值<select id='topic'><option value="hello"></option> ...</section>

  2. 你怎么能标准输出所选索引的值?不明白为什么不在下面。

        var el = document.getElementById("topic");
        var topicValue = el.options[el.selectedIndex].value;
    
        // PROBLEM: Won't do anything (despite inside <script> -tags)
        window.alert(topicValue);
    

其中topic是选择<select id="topic"[^>]*>[^<]*</select>

4

2 回答 2

0

这些事件在选择中起作用,而不是选项,而只是脚本的条件。

<html>
<body>

<script>
        function alertMe(option){
                if(option == "saab"){
                        window.alert("you clicked saab in selec!");
                        document.getElementById("txt").value='saab!';
                }
        }
</script>


<select onChange="alertMe(this.value);">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="m"> Mercedes</option>
  <option>Audi</option>
</select>

<input type="text" id="txt" value="change me"></input>

</body>
</html>

[更新的答案]

  1. 您可以使用document.getElementById('topic').options.selectedIndexor访问选择mySelect.options[selectedIndex].value(不适用于我)。显然你可以创建一个你可以参考的表格,document.forms['topic'].elements[id]但不确定这个表格。更多的。
  2. @Kosh 这很烦人!只需执行 adictionary = {0:"topic", 1:"hello",...,n:"topic_{n}"}然后将其getElementById('topic').selectedId用作键并忘记值。未解决,但已四舍五入。

[更新]我想我解决了,只是el.valueselectedIndex不需要:

<html>
<body>

<script>

function printSelectValue()
{
        var el = document.getElementById("selectOne");
        alert(el.value);

}
</script>


<select id="selectOne" onChange="printSelectValue()"> 
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="m"> Mercedes</option>
</select>

</body>
</html>
于 2011-01-29T11:31:34.190 回答
0

您可以查看许多事件。

这有一个他们所有的列表 http://www.w3schools.com/tags/tag_select.asp

onkeydown 和 onmousedown 会在 onchange(用户按下回车)事件之前提醒您

于 2011-01-29T01:32:30.050 回答