2010-08-05 17 views
8

Jak usunąć jeden lub więcej wybranych elementów z etykiety opcji z rozwijanej listy HTML (przy użyciu jquery).Jak usunąć zaznaczony element z listy rozwijanej (przy użyciu jquery)?

Aby usunąć całe opcje z pola kombi, możemy użyć poniższej instrukcji Jquery.

$ ("# cmbTaxIds> opcja"). Remove();

Założenie poniższego kodu HTML w pliku aspx.

  <select id="cmbTaxID" name="cmbTaxID" style="width: 136px; display: none" tabindex="10" disabled="disabled"> 
       <option value="0"></option> 
       <option value="3"></option> 
       <option value="1"></option> 
      </select> 

Jeśli chcesz usunąć tylko wartość środkową, to jaka powinna być składnia sama (przy użyciu jQuery)?

Odpowiedz

16

Użyj selektora eq.

var index = $('#cmbTaxID').get(0).selectedIndex; 
$('#cmbTaxID option:eq(' + index + ')').remove(); 

Jest to najlepszy sposób, aby to zrobić, ponieważ jest oparty na indeksie, a nie arbitralne wartości.

+0

Pomógł rozwiązać mój problem. Wielkie dzięki :-) – Biki

1
$("#cmbTaxIds >option[value='3']").remove(); 

Wystarczy zastąpić 3 wartością elementu, który chcesz usunąć.

1

odpowiedzi bardziej ogólny, aby usunąć wybraną opcję może być

$('#somebutton').click(function(){ 
    var optionval = $('#cmbTaxIds').val(); 
    $('#cmbTaxIds > option[value=' + optionval + ']').remove(); 

}) 
4

coś takiego:

$('#cmbTaxID option:selected').remove(); 

lub nawet krócej:

$('#cmbTaxID :selected').remove(); 
+0

Wydaje mi się to najbardziej eleganckie. Selektor znajdzie wszystkie wybrane opcje. Inne rozwiązania obejmują przekazywanie indeksu. –

13

Aby usunąć wybraną pozycję:

$("#cmbTaxID :selected").remove(); 
+1

Nie użyłem opcji 'option' i zadziałało to dla mnie. Czy brakuje mi czegoś, jeśli używam - '$ (" # cmbTaxID: selected "). Remove();'? – boddhisattva

+0

To zadziała. Będzie szukał elementu z atrybutem SELECTED wewnątrz