web-dev-qa-db-fra.com

jQuery supprime l'option sélectionnée de cette

premier post ici, je viens en paix :) J'ai cherché mais je ne trouve pas vraiment ce que je recherche.

J'essaie de manipuler l'option sélectionnée d'une boîte de sélection. Quelqu'un peut-il expliquer pourquoi cela fonctionne:

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

mais cela ne veut pas:

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

Je veux juste utiliser "ceci" au lieu de préciser l'ID de la boîte de sélection - quelqu'un peut-il m'orienter dans la bonne direction pour la syntaxe correcte? Ça me rend fou parce que ça devrait être vraiment simple. Et je suis sûr que c'est pour quelqu'un, mais pas pour moi, car c'est la fin de la journée et je suis nerveux ... Tous les conseils très appréciés.

À votre santé

29
odavy

this n'est pas un sélecteur css. vous pouvez éviter d'épeler l'id de this en le passant comme contexte:

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

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

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

Utilisation de la méthode find .

10
Vincent Ramdhanie

Cela devrait faire l'affaire:

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

C'est plus simple

$('#some_select_box').find('option:selected').remove().end();
4
Siddartha