【问题标题】:How to stdout selected value in JavaScript?如何在 JavaScript 中输出选定的值?
【发布时间】:2011-01-29 01:18:43
【问题描述】:
  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 是选择&lt;select id="topic"[^&gt;]*&gt;[^&lt;]*&lt;/select&gt;

【问题讨论】:

  • 你会想要change事件。
  • 你为什么一直说stdout?在客户端,JavaScript 真的只有一种方式。
  • vol7ron:也许,我很愚蠢。抱歉,但我不关心 defs,我在这个话题上的时间太长了,谷歌搜索会返回诸如 el.options[el.selectedIndex].value; 之类的建议,但是当它们不起作用时,它会让人吃心。正在尝试解决这个问题...

标签: javascript html select user-controls syntactic-sugar


【解决方案1】:

您可以查看许多事件。

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

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

【讨论】:

    【解决方案2】:

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

    <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.selectedIndexmySelect.options[selectedIndex].value 访问选择(不适用于我)。显然,您可以创建一个可以通过document.forms['topic'].elements[id] 引用的表格,但不确定这个表格。 More.
    2. @Kosh 很烦人!只需执行dictionary = {0:"topic", 1:"hello",...,n:"topic_{n}"},然后使用getElementById('topic').selectedId 作为键并忘记值。未解,但已四舍五入。

    [更新]我想我解决了,只需要el.value,不需要selectedIndex

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      相关资源
      最近更新 更多