2011-09-13 16 views

答えて

1

使用することは、現在(またはデフォルト)選択した項目を取得します。あなたがより速く/短くしたい場合は、それが値です取得するには、

$("select option:selected").val(); 

それとも

$("select").val() 

を使用しています。


の選択元の値を取得するには、このJSFiddleが示すように、.data()機能を使用して、要素のデータ内に格納する必要があります。

あなたが値を取得したい場合は、単純にselect要素(JSFiddleの二.each().data("originalValue")を呼び出す。

$(document).ready(function() { 
    $("select").each(function() { 
     $(this).data("originalValue", $(this).val()); 
    }); 

    // Log data - will output "1" 
    $("select").each(function() { 
     console.log($(this).data("originalValue")); 
    }); 
}); 

をあなたは時にページの読み込みをする上記のコードの最初の.each()呼び出しを実行する必要があります選択ボックスの元の値を格納します。originalValueはあなたが好きな識別子であることに注意してください。

+0

自分自身のように、Commandoがリストから他のオプションを使用して初期選択値を変更した場合、最初に選択した最初のものをフェッチして選択するにはどうしたらいいですか? –

+1

これはCSS疑似クラスですか、jQuery固有のアイテムですか? 'option:selected'へのリンクを追跡しようとしましたが、失敗しました – JaredPar

+1

@コマンド編集内容をご覧ください。 – Bojangles

0
$('select option:selected').val(); 
4

<option>要素はDOMレベル1呼び出しで定義されたプロパティを持っていますed defaultSelected。要素が解析されたときにHTMLにselected属性が定義されている<option>要素の場合、このプロパティはtrueに設定されます。

任意のデフォルトの選択オプションを取得するためにfilterを使用することはかなり簡単であるべき:

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

の作業のデモ:http://jsfiddle.net/AndyE/9G3pR/

+0

重いもの。 –

+1

@Commando:それは私には非常に軽く見えます;-)また、可能な限りw3schoolsへのリンクは避けています。これは適切なものです:http://www.w3schools.com/jsref/prop_option_defaultselected.asp;)そのような特定のページを取ってください、そして、私は引用します、* "注:オプションがデフォルトで選択されている場合は、ドロップダウンリストの最初に表示されます" * - [それは正しくありません](http://w3fools.com) 。 MSDNでは必ずしも正しいとは限りませんが、少なくとも私が答えてくれたリンクもW3C仕様へのリンクを持っています。 –

+0

はいアンディーE、ありがとう。 –

関連する問題