javascript - Počítanie počtu možností (option) v značke select v jQuery
Ako spočítam počet <option> prvkov v <select> DOM elemente pomocou jQuery?
<select data-attr="dropdown" id="input1">
<option value="Male" id="Male">Male</option>
<option value="Female" id="Female">Female</option>
</select>
Chcem nájsť počet tagov <option> v DOM elemente <select>, pretože s tým chcem otvoriť panel nastavení s týmto počtom vstupných polí s príslušnou hodnotou možnosti z rozbaľovacieho zoznamu a zmeniť ju opäť v paneli náhľadu.
Vyššie uvedené rozbaľovacie okno je v mojom náhľadovom paneli, ktorý je generovaný jQuery.
Odpoveď č. 1
$('#input1 option').length;
Toto vyprodukuje 2.
Odpoveď č. 2
Riešenie W3C:
var len = document.getElementById("input1").length;
Odpoveď č. 3
Môžete použiť buď vlastnosť length a length má lepší výkon ako size.
$('#input1 option').length;
ALEBO môžete použiť funkciu size ako (odstránené v jQuery v3)
$('#input1 option').size();
$(document).ready(function(){
console.log($('#input1 option').size());
console.log($('#input1 option').length);
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select data-attr="dropdown" id="input1">
<option value="Male" id="Male">Male</option>
<option value="Female" id="Female">Female</option>
</select>Odpoveď č. 4
Vaša otázka je trochu mätúca, ale predpokladajme, že chcete zobraziť počet možností v paneli:
<div id="preview"></div>
a
$(function() {
$("#preview").text($("#input1 option").length + " items");
});
Nie som si istý, že rozumiem zvyšku tvojej otázky.
Odpoveď č. 5
V poli s možnosťou výberu viacerých položiek môžete použiť $('#input1 :selected').length; na získanie počtu vybratých možností. To môže byť užitočné na deaktivovanie tlačidiel, ak nie je splnený určitý minimálny počet možností.
function refreshButtons () {
if ($('#input :selected').length == 0)
{
$('#submit').attr ('disabled', 'disabled');
}
else
{
$('#submit').removeAttr ('disabled');
}
}
