2012-09-23 16 views
10

5つ以上のオプションを持つ複数の選択リストがあり、ユーザーが選択したオプションの選択数を数えたいと思います。複数選択ボックスの選択数を数えます

Javaスクリプトを使用する方法は?

私は次のことを試してみましたが、それは私のために動作しませんでした:事前に

var x = document.getElementById("preference").count; 

感謝を。

+0

> var x = document.getElementById( "preference")。count; – coolmego

答えて

21

fooは選択のIDです。

あなたは、通常のjavasript使用する場合:あなたはjQueryのを使用している場合

var options = document.getElementById('foo').options, count = 0; 
for (var i=0; i < options.length; i++) { 
    if (options[i].selected) count++; 
} 

を:

var count = $('#foo option:selected').length; 
+0

thankyou、そのworkinkg fine.私は "チェックボックス"で使用されるようにforループを使用するのではなく、選択の数をチェックできるプロパティがあります。ここでは、.checkedプロパティを使用できます。 – coolmego

+0

@coolmegoいいえ、そのようなプロパティはありません。 'checkbox'の場合は、' checked'プロパティを使用します。 – xdazz

+1

は、基本から始まるjavascriptのチュートリアルをお勧めします。 – coolmego

1

このように、:selectedセレクタを使用します。

$('#example option:selected').length; 
2

あなたが取得し、これを試すことができます選択された複数の選択ボックス、および選択された名前を含む。 < IE8が懸念されていない場合http://jsfiddle.net/N6YK8/8/

function getCount(){ 
      var comboBoxes = document.querySelectorAll("select"); 
      var selected = []; 
      for(var i=0,len=comboBoxes.length;i<len;i++){ 
        var combo = comboBoxes[i]; 
        var options = combo.children; 
        for(var j=0,length=options.length;j<length;j++){ 
         var option = options[j]; 
         if(option.selected){ 
          selected.push(option.text); 
         } 
        } 
      } 
      alert("Selected Options '" + selected + "' Total Count "+ selected.length); 
     } 
0

このリンクを試してみてください、あなたは、選択したすべてのオプションを取得するためにdocument.querySelectorAll("option:checked")のようなワンライナーを行うことができます。

-1
function SelectPage(elem) 
{ 
    alert(elem); 
} 
<select id="page" name="section" onChange="SelectPage(this);" id="num"> 
    <option value="">Select Section</option> 
    <option value="1">Page-1</option> 
    <option value="2">Page-2</option> 
    <option value="3">Page-3</option> 
    <option value="4">Page-4</option> 
    <option value="5">Page-5</option> 
</select> 
+0

あなたの関数でもこれを使うことができます 'var len = docment.getElementById(" num ")。 alert( "hello" + len.length); ' –

関連する問題