javascript - 下拉 currentIndex onchange

标签 javascript html html-select

有一个包含 5 个选项的下拉菜单。当前,选项 2 被选中。用户现在选择选项 4。onchange 事件被触发,该事件被 JS 函数捕获,该函数在选择时监听 onchange。

在 JS 函数中,我可以使用 selectedIndex 属性轻松检查用户选择的选项的索引。但是,我还想知道用户更改它的原始值是多少从。

Is there a property that persists basically the original value i.e. option 2 in this case.

最佳答案

作为一个概念,我将以下内容放在一起 - 很可能有更好的方法来做到这一点:

var vals = [];

document.getElementById("colors").onchange = function(){
   vals.unshift(this.selectedIndex);
};

function getPrevious(){
  alert(vals[1]); // you'll need more logic here
                  // this is purposefully simplistic
}

--

<select id="colors">
   <option>Red</option>
   <option>Green</option>
   <option>Blue</option>
</select>

封闭示例:

我试图将这一切与实际的下拉元素本身联系起来。老实说,这是我第一次向下拉列表本身添加功能,所以我不能保证这不会产生任何后果:

   var colors = document.getElementById("colors");
       colors.vals = [];
       colors.setPrevious = function() { this.vals.unshift(this.selectedIndex); }
       colors.getPrevious = function() { return this.vals[1]; }
       colors.onchange    = function() { this.setPrevious(); this.getPrevious(); }
       // set initial state
       colors.setPrevious();

关于javascript - 下拉 currentIndex onchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1983535/

相关文章:

jquery - 疑难的Jquery <div> 问题,求高手指教

php - WordPress 动态自定义菜单未显示正确的结果

javascript - 如何根据在我的 .ts 文件中搜索数组中的值数组来禁用和选中复选框

javascript - 程序错误时完成外部模块中的写入流

javascript - AngularJs 未知提供商错误

javascript - 为视觉元素的继承和重用而设计

php - MYSQL 获取数组无法在 php 中捕获行的名称

javascript - 从 URL 中删除查询字符串

javascript - 如何将字节数组转换为pdf并下载

jquery - 如何使用jquery找到select标签的get属性,其中value=something?