Pergunta

Primeiro post aqui, eu cheguei em paz :) Eu procurei, mas não consigo encontrar o que estou procurando.

Estou tentando manipular a opção selecionada de uma caixa selecionada. Alguém pode explicar por que isso funciona:

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

Mas isso não é:

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

Eu só quero usar "isso" em vez de soletrar o ID da caixa de seleção - alguém pode me apontar na direção certa para a sintaxe correta? Está me deixando louco porque parece que deve ser realmente simples. E tenho certeza de que é para alguém, mas não para mim, porque é o fim do dia e estou frito ... quaisquer indicadores muito apreciados.

Felicidades

Foi útil?

Solução

this Não é um seletor CSS. Você pode evitar ortografia do ID de this Passando como um contexto:

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

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

Outras dicas

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

Usando o achar método.

Isso deve fazer o truque:

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

Este é mais simples

$('#some_select_box').find('option:selected').remove().end();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top