2010-03-22 6 views
25

primo post qui, vengo in pace :) Ho cercato ma non riesco a trovare quello che sto cercando.jQuery rimuove l'opzione selezionata da questo

Sto tentando di modificare l'opzione selezionata di una casella di selezione. Qualcuno può spiegare il motivo per cui questo funziona:

$('#some_select_box').click(function() { 
    $('#some_select_box option:selected').remove(); 
}); 

ma questo non lo fa:

$('#some_select_box').click(function() { 
    $('this option:selected').remove(); 
}); 

Voglio solo usare "questo", invece di che illustra l'id della casella di selezione - can punto qualcuno io nella giusta direzione per la sintassi corretta? Mi sta facendo impazzire perché sembra che dovrebbe essere davvero semplice. E sono sicuro che è per qualcuno, ma non per me, perché è la fine della giornata e sono fritta dal cervello ... Qualsiasi suggerimento è molto apprezzato.

Acclamazioni

risposta

50

this non è un selettore css. si può evitare di ortografia l'id del this facendola passare come un contesto:

$('option:selected', this).remove(); 

http://api.jquery.com/jQuery/

+0

che è grande, grazie ... Sembra che ci sia molto di più jquery a sinistra per imparare. Non ero a conoscenza di questa sintassi. Molte grazie :) – odavy

6
$('#some_select_box').click(function() { 
    $(this).find('option:selected').remove(); 
}); 

Utilizzando il metodo find.

+0

Come fare senza jQuery, in puro javascript – YumYumYum

5

Questo dovrebbe fare il trucco:

$('#some_select_box').click(function() { 
    $('option:selected', this).remove(); 
}); 
1

Questo è uno più semplice

$('#some_select_box').find('option:selected').remove().end(); 
Problemi correlati