有没有一种简单的方法来了解选择的起始值?

时间:2011-10-07 07:54:49

标签: javascript jquery dom

我想在不保存对象中选择的起始值的情况下这样做。

如果我有(当我加载dom时):

<select>
  <option value='1' selected>one</option>
  <option value='2' >Two</option>

并且我稍后更改选择以便选择另一个选项,是否存在某种属性来存储最初选择的选项的值?

5 个答案:

答案 0 :(得分:5)

我认为这是一种愚蠢的行为:

$("select option[selected]").val()

小提琴:http://jsfiddle.net/4dCMd/

在不同的浏览器中以这种方式测试:在IE7 / 8中似乎被打破,适用于最后的Chrome,FF和IE9

答案 1 :(得分:2)

您应该使用options对象的defaultSelected属性来测试它是否默认选中。

http://www.javascriptkit.com/jsref/select.shtml

答案 2 :(得分:1)

使用此

$('select').find('option[selected]').val();

<强> DEMO

答案 3 :(得分:0)

简单易用的过滤器来获取任何默认选择的选项:

var def = $("select > option").filter(function () { 
    return this.defaultSelected; 
});

DEMO

DefaultSelected

反映所选HTML属性的值。表示默认选择该选项。

答案 4 :(得分:0)

$('select').each(function(){
  $(this).data('originalValue',$(this).val());
});

你可以在.ready上执行此操作。它会将每个选择的默认值存储在它的数据对象中。


哦,只是重新阅读你的问题,你说这正是你不想要的。 好吧,我认为没有其他有效的方法可以做到这一点,所以无论如何我都会留在这里。

相关问题