2017-01-03 156 views
0

我一直在使用與ui.multiselect.js類似的HTML選擇: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小號0

+5

原來是ID 「mySelect」 或 「animalList」 得長? – Utkanos

+2

顯示您的HTML。 – Liam

+0

你可以用'[<>]'來爲你的問題插入一個可運行的代碼塊嗎? –

回答

1

要獲得使用multiselect一個select元素的數量,確保您的代碼如下所示:

$(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

相關問題