2017-01-03 34 views
0

私はui.multiselect.jsを使っています。これはHTML Selectとまったく同じです:selectedOptions.lengthはInternet Explorerでは動作しませんが、chromeとfirefoxでは正しく動作しますか?

私は選択した要素の長さが必要でした。だから私は以下のコードを使用していた:

var selectedOption = document.getElementById('animalList').selectedOptions.length; 

をしかし、以下

selectedOptions.lengthはIEでの作業が、Chromeで適切に動作していないようだとFirefox

私はすでに試してみました選択肢です:

var select = document.getElementById('animalList'); 
var len = select.options.length; 

結果は0となります。

$("#animalList :selected").length; 

結果がaあなたのコードは次のように見えることを確認し、multiselectを使用してselect要素の数を取得するには、S 0

+5

を使って長さを得ることができるので、ID "MySelectと" または "animalListは" ありますか? – Utkanos

+2

HTMLを表示します。 – Liam

+0

実行可能なコードブロックを質問に挿入するには、 '[<>]'を使ってこの例を提供してください。 –

答えて

1

$(document).ready(function() { 
 
    
 
    $('button').click(function() { 
 
    // jquery version 
 
    var count = $("#foo :selected").length; 
 
    console.log("jQuery Count: " + count); 
 
    
 
    // pure javascript version 
 
    var options = document.getElementById('foo').options, count = 0; 
 
    for (var i=0; i < options.length; i++) { 
 
     if (options[i].selected) count++; 
 
    } 
 
    console.log("Pure Javascript: " + count); 
 
    
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button>Count Selected</button><br> 
 
<select multiple id="foo"> 
 
    <option value="volvo">Volvo</option> 
 
    <option value="saab">Saab</option> 
 
    <option value="opel">Opel</option> 
 
    <option value="audi">Audi</option> 
 
</select>

私は純粋なJavaScriptのバージョンとjQueryの両方が含まれていますボタンをクリックすると実行されるバージョンです。

0

次の方法

var len = 0; 
    if($("#animalList").val()!=null){ 
    len = $("#animalList").val().length; 
    } 

WORKING FIDDLE

関連する問題