javascript在不提交表单的情况下获取选择选项的值

标签 javascript forms select

我试图在不提交表单的情况下获取输入选择选项的值(需要在显示实时结果时保持它可用)。然后我需要将此值与全局变量一起使用,以便稍后插入到数组中。因为我不能使用提交,所以我需要找到一种方法来在用户更改选项(即可能使用 onchange)时更新此值。

这是我目前拥有的(不起作用):

html

<select id="color" >
    <option value="">select:</option>
    <option value="blue">Blue</option>
    <option value="red">Red</option>
    <option value="yellow">Yellow</option>
</select>


JavaScript

document.getElementById('color').onchange = function() {
    var colorInput = this.value;
    console.log(colorInput);
};


已更新

好的,不使用内联 javascript,我明白了。我更新了上面的脚本以反射(reflect)我得到的大部分答案——这些答案没有解决我的核心问题。在脚本中跟踪输入选项值没有问题;我需要将值作为全局变量。出于某种原因,我做不到。

这是一个类似于我需要如何使用它的 jsfiddle:http://jsfiddle.net/agvRn/2/

它应该能够跟踪选择选项(已经可以),然后必须能够在单独的函数中使用该值 - 在本例中将其插入段落字段“显示”。

最佳答案

不要使用内联 JavaScript。

试试这个(避免全局变量):

(function() {
    var select_val;
    document.getElementById('color').addEventListener('change', function() {
        select_val = this.value;
        document.getElementById("show").innerHTML = select_val;
    }, false);

})();

DEMO

关于javascript在不提交表单的情况下获取选择选项的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23942893/

相关文章:

javascript - javascript中比较时间的正确方法?

javascript - AngularJS 作用域变量设置不正确

c# - 在表单之间传递对象及其所有值

jquery - 使用 jQuery 对 Select 字段进行排序

select - 如何更改 dijit.form.Select 中元素的顺序

javascript - Google 表格日历

JavaScript:在数组中查找具有数组子字符串的所有值

javascript - 根据 select 的选项值组成链接

php echo来自mysql和日期时间选择的结果

mysql - 连接 3 个表以获得单行