下拉currentIndex onchange
有5个选项的下拉菜单。 目前,选项2被选中。用户现在选择选项4. onchange事件被触发,这被捕获在一个JS函数中,在select上侦听onchange。
在JS函数中,我可以轻松地检查用户使用selectedIndex属性选择的选项的索引。但是,我也想知道用户将其改为的原始值是什么。
在这种情况下是否存在一个基本上保留原始值的属性,即选项2。
就像我把一个概念放在一起 - 可能有更好的方法来做到这一点:
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();
正如dl所说的那样,您可以使用简单的隐藏变量来保存该值。我们可以将当前值设置为隐藏变量。
<input type = "hidden" id = "previous" name = "previous"></input>
不,你需要坚持自己在一个JS变量。
链接地址: http://www.djcxy.com/p/43965.html