web-dev-qa-db-ja.com

jQueryはこれから選択されたオプションを削除します

ここに最初の投稿、私は平和に来ます:)私は検索しましたが、私が探しているものを見つけることができません。

選択ボックスの選択オプションを操作しようとしています。誰かがこれがなぜ機能するのか説明してください:

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

しかし、これはしません:

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

選択ボックスのIDを綴るのではなく、「this」を使用したいだけです。正しい構文の正しい方向を誰かに教えてもらえますか?それは本当にシンプルなはずだからです。そして、それは誰かではなく、私ではなく、一日の終わりであると確信しています。

乾杯

29
odavy

thisはcssセレクターではありません。コンテキストとして渡すことで、thisのIDのスペルを回避できます。

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

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

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

find メソッドを使用します。

10

これはトリックを行う必要があります:

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

これはもっと簡単なものです

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