2010-03-22 8 views
25

ersten Beitrag hier, ich komme in Ruhe :) Ich habe gesucht, kann aber nicht ganz finden, was ich danach bin.jQuery entfernen ausgewählte Option aus diesem

Ich versuche, die ausgewählte Option einer Auswahlbox zu manipulieren. Kann jemand bitte erklären, warum dies funktioniert:

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

aber nicht:

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

Ich möchte nur die ID der Auswahlbox Buchstabieren „this“ statt verwenden - kann jemand Punkt Ich in die richtige Richtung für die richtige Syntax? Es macht mich verrückt, weil es so aussieht, als sollte es wirklich einfach sein. Und ich bin sicher, es ist für jemanden, aber nicht für mich, denn es ist das Ende des Tages und ich bin brain-frittiert ... Alle Hinweise sehr geschätzt.

Prost

Antwort

50

this ist kein CSS-Selektor. Sie können, indem man sie als Kontext buchstabieren die ID this vermeiden:

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

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

+0

Das ist großartig, dank ... Sieht aus wie es gibt viel mehr jquery zu lernen links. War sich dieser Syntax nicht bewusst. Vielen Dank :) – odavy

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

die find Methode.

+0

Wie es geht ohne jQuery, in reinem Javascript – YumYumYum

5

Dies sollte den Trick:

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

Dies ist eine einfachere

$('#some_select_box').find('option:selected').remove().end(); 
Verwandte Themen