2012-05-08 36 views
0

數我有以下的js代碼:獲取的內部變化<select>項目()函數

$("#mySelector").change(function(){ 
    console.log($(this).length); 
}); 

我知道這是錯誤的代碼來獲得在選擇項目的數量。但是,我應該如何正確地得到這個數字?

P.S. 以正常的方式,我應該使用$("#mySelector option").length來得到這個數字。但如何將option添加到$(this)運算符?

回答

1
$("#mySelector").on('change', function(){ 
    console.log($('select', this).length); 
}); 

or for options?

$("#mySelector").on('change', function(){ 
    console.log($('option', this).length); 
}); 

FIDDLE

0

如果你試圖獲得總<option>標籤在選擇下拉,你可以做到這一點

options = 0; 
$('{selector} option').each(function() { 
    options++; 
}); 
alert(options);​ 

或一個更好的方法以優良的維加的建議

$('{selector} option').length 
+1

或者簡單的'$('{selector} option').length' –

+0

touc他是一個更好的選擇 –