2012-07-25 88 views
0

如何訪問除選擇的選項之外的選項的每個選項?選擇除選定的選項以外的每個選項

我想,但沒有成功:

$('select[id^="buyingSupplierRef"]').live('mouseleave', function() 
{ 
    $(this+' option:not(option:selected)').each(function(){ 
    $(this).detach() ; 
}) 

回答

0

嘗試以下操作:

$('option:not(:selected)', this).each(function(){ 
    // ... 
}) 

注意live()已被棄用,你可以使用on()代替。

1

您不能使用this + ' ...'來做到這一點,this是一個DOM元素。相反,使用find

$(this).find('option:not(:selected)').each(function(){ ... 

(你的選擇,option:not(option:selected)是很好的,你不重複option位,它沒有任何效果,因此以上。)

+0

孩子()會更好 – bugwheels94 2012-07-25 08:35:08

+2

@AnkitGautam:或者,它並不重要。等等,實際上它確實:'option'元素可以在['optgroup'元素](http://www.w3.org/TR/html5/the-optgroup-element.html#the-optgroup-element) ,在這種情況下'孩子'會失敗,但'find'會起作用。 – 2012-07-25 08:37:53

0
$("option:not(:selected)", this).detach(); 

無論如何,沒有必要對.each,.detach進行操作。