我想在不保存对象中选择的起始值的情况下这样做。
如果我有(当我加载dom时):
<select>
<option value='1' selected>one</option>
<option value='2' >Two</option>
并且我稍后更改选择以便选择另一个选项,是否存在某种属性来存储最初选择的选项的值?
答案 0 :(得分:5)
我认为这是一种愚蠢的行为:
$("select option[selected]").val()
小提琴:http://jsfiddle.net/4dCMd/
在不同的浏览器中以这种方式测试:在IE7 / 8中似乎被打破,适用于最后的Chrome,FF和IE9
答案 1 :(得分:2)
您应该使用options对象的defaultSelected属性来测试它是否默认选中。
答案 2 :(得分:1)
答案 3 :(得分:0)
简单易用的过滤器来获取任何默认选择的选项:
var def = $("select > option").filter(function () {
return this.defaultSelected;
});
反映所选HTML属性的值。表示默认选择该选项。
答案 4 :(得分:0)
$('select').each(function(){
$(this).data('originalValue',$(this).val());
});
你可以在.ready上执行此操作。它会将每个选择的默认值存储在它的数据对象中。
哦,只是重新阅读你的问题,你说这正是你不想要的。 好吧,我认为没有其他有效的方法可以做到这一点,所以无论如何我都会留在这里。