开发者

Is there a simple way to know the starting value of a select?

开发者 https://www.devze.com 2023-04-11 03:59 出处:网络
I\'d like to do this simply without saving the starting value of the select in an object. if i have (when i load the dom):

I'd like to do this simply without saving the starting value of the select in an object.

if i have (when i load the dom):

<select>
  <option value='1' selec开发者_运维问答ted>one</option>
  <option value='2' >Two</option>

and than i later change the selection so that another option is selected, is there some kind of property that stores the value of the option that was originally selected?


I think this sholud work:

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

fiddle: http://jsfiddle.net/4dCMd/

Tested this way in different browsers: seems to be broken in IE7/8, works in last Chrome, FF and IE9


You should use the defaultSelected property of the options object to test if it was selected by default.

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


use this

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

DEMO


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

You could do this on .ready. It'll store the default values of every select in it's data object.


Oh just re-read your question and you said that's exactly what you don't want. Well, i don't think there's another efficient way to do it so i'll leave it here anyway.


simple to use filter to get any default selected options:

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

DEMO

DefaultSelected

Reflects the value of the selected HTML attribute. which indicates whether the option is selected by default.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号