【发布时间】:2016-02-16 18:42:24
【问题描述】:
我的 html 页面中有一个选择下拉菜单。如何获取最近选择的选项的索引,而不是最后一个。我看到我们可以使用'last',但它会给出最后一个不是最近选择的选项。
HTML
<select class="carMenu" name="cars" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
jQuery
$(document).ready(function () {
$('.carMenu').change(function(){
console.log($('option:selected',$(this)).index());
});
});
如果我们选择“欧宝”,然后选择“沃尔沃”,我们应该得到零作为索引。但现在它给出了“欧宝”的索引。
【问题讨论】:
-
网页本身不会保留旧表单输入值的“记忆”。您必须使用
.change()将每个选择存储在一个变量中。您甚至可以使用.data()将此选择历史记录附加到元素本身 -
我在 Chrome 48 上使用 jquery-2.2.0.min.js 尝试了您的代码,我看到了正确的索引。我不确定我是否理解这个问题?
-
对您尝试解决的更高级别问题的更好解释会有所帮助
-
请注意,用户可以在多选中一次选择多个
<option>,因此change可能反映与之前change的许多不同之处 -
最近是什么意思?你的意思是点击选项?
标签: javascript jquery html