2012-10-08 11 views
14
<!DOCTYPE html> 
<html> 
<script> 
function getValue() 
{ 
  var x=document.getElementById("sel"); 
    for (var i = 0; i < x.options.length; i++) { 
    if(x.options[i].selected ==true){ 
      alert(x.options[i].selected); 
     } 
    } 
} 
</script> 
</head> 
<body> 
<select multiple="multiple" id="sel"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="opel">Opel</option> 
    <option value="audi">Audi</option> 
</select> 
<input type="button" value="Get Value" onclick="getValue()"/> 
</body> 
</html> 

これは私のコードです。どのように私はリストボックスからjavascript.The上記のコードを使用してすべての選択された値を表示するすべての選択された値の真を示しています。複数の選択された値とアイテムをリストボックスからjavacriptを使って取得する方法

答えて

17

私はあなたがそれはこのようにjQueryを使用しないことを示唆している

if(x.options[i].selected){ 
     alert(x.options[i].value); 
    } 
+0

その作業はありがとうございました:) –

+0

それは '使用する無用だ場合(x.options [i]を.selected = if(x.options [i] .selected) 'の代わりに 'if(x.options [i] .selected === true)'または' if(!! x。 options [i] .selected) ' – Oriol

6

if(x.options[i].selected ==true){ 
     alert(x.options[i].selected); 
    } 

を交換してください:

var selected = $('#sel option:selected'); 

あなたはjQueryのを使用しない場合は、この答えを無視し、他のものを参照してください。同じ例で

+6

質問はJavaScriptの解決策を求めていますが、タグ付き* jQuery * – Phil

+1

@Phil jQueryを使用していないユーザーは、提案をするだけで無視することができますが、DOMに簡単にアクセスできるようにすることもできます。 –

+5

http://api.jquery.com/selected-selector/: "*:' selected'はjQuery拡張であり、CSS仕様の一部ではないため、 ':selected'を使ったクエリは、提供されるパフォーマンスの向上を利用できません要素を選択するために ':selected'を使うときに最高のパフォーマンスを達成するには、純粋なCSSセレクタを使って要素を選択してから、' .filter( ":selected") '*"を使います。 。したがって、 'var selected = $( '#sel option')。filter( ':selected');'が良いです。 – Oriol

1

ソリューション

<!DOCTYPE html> 
<html> 
<script> 
function getValue() 
{ 
    var x=document.getElementById("sel"); 
    for (var i = 0; i < x.options.length; i++) { 
    if(x.options[i].selected ==true){ 
      alert(x.options[i].value); 
     } 
    } 
} 
</script> 
</head> 
<body> 
<select multiple="multiple" id="sel"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="opel">Opel</option> 
    <option value="audi">Audi</option> 
</select> 
<input type="button" value="Get Value" onclick="getValue()"/> 
</body> 
</html> 
0

使用selectedOptions

for (var i = 0; i < x.selectedOptions.length; i++) { 
    alert(x.selectedOptions[i].value); 
}