jQuery verwijder opties uit select

Ik heb een pagina met 5 selecties die allemaal een klassenaam ‘ct’ hebben. Ik moet de optie met de waarde ‘X’ verwijderen uit elke selectie tijdens het uitvoeren van een onclick-gebeurtenis. Mijn code is:

$(".ct").each(function() {
    $(this).find('X').remove();
   });

Waar ga ik fout?


Antwoord 1, autoriteit 100%

Probeer dit:

$(".ct option[value='X']").each(function() {
    $(this).remove();
});

Of om beknopter te zijn, dit werkt net zo goed:

$(".ct option[value='X']").remove();

Antwoord 2, autoriteit 12%

$('.ct option').each(function() {
    if ( $(this).val() == 'X' ) {
        $(this).remove();
    }
});

Of gewoon

$('.ct option[value="X"]').remove();

Belangrijk is dat findeen selector string nodig heeft, door deze xin te voeren zoekt u naar elementen met de naam x.


Antwoord 3, autoriteit 7%

find()neemt een selector, geen waarde. Dit betekent dat je het op dezelfde manier moet gebruiken als de reguliere jQuery-functie ($('selector')).

Daarom moet je zoiets als dit doen:

$(this).find('[value="X"]').remove();

Bekijk de jQuery zoek-documenten.


Antwoord 4

Het werkt op optietag of tekstveld:

$("#idname option[value='option1']").remove();

Antwoord 5

Als uw vervolgkeuzelijst in een tabel staat en u geen ID voor het hebt, kunt u de volgende jQuery gebruiken:

var select_object = purchasing_table.rows[row_index].cells[cell_index].childNodes[1];
$(select_object).find('option[value='+site_name+']').remove();

Antwoord 6

voor jQuery & lt; 1.8 U kunt gebruiken:

$('#selectedId option').slice(index1,index2).remove()

Om een ​​specific reeks van de Select-opties te verwijderen.


Antwoord 7

Toen ik gewoon een verwijderde, bleef de optie in de DDL op het zicht, maar was verdwenen in de HTML (als u de pagina inspecteerde)

$("#ddlSelectList option[value='2']").remove(); //removes the option with value = 2
$('#ddlSelectList').val('').trigger('chosen:updated'); //refreshes the drop down list

Antwoord 8

Foto van een lijst en het verwijderen van meerdere items met behulp van een vondst.
Antwoord bevat een reeks gehele getallen. $ (‘# Oneslectlist’) is een selectielijst.

$.ajax({
    url: "Controller/Action",
    type: "GET",
    success: function (response) {
        // Take out excluded years.
        $.each(response, function (j, responseYear) {
            $('#OneSelectList').find('[value="' + responseYear + '"]').remove();
        });
    },
    error: function (response) {
        console.log("Error");
    }
});

Antwoord 9

Als er geen ID of klas beschikbaar was voor de optiewaarden, kan men alle waarden uit de vervolgkeuzelijst verwijderen zoals hieronder

$(this).find('select').find('option[value]').remove();

Other episodes