JQuery удалить параметры из выбора - PullRequest
195 голосов
/ 05 октября 2009

У меня есть страница с 5 вариантами выбора, которые все имеют имя класса 'ct'. Мне нужно удалить опцию со значением «X» из каждого выбора во время запуска события onclick. Мой код:

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

Куда я иду не так?

Ответы [ 8 ]

401 голосов
/ 05 октября 2009

Попробуйте это:

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

Или, если быть более кратким, это будет работать так же хорошо:

$(".ct option[value='X']").remove();
47 голосов
/ 05 октября 2009
$('.ct option').each(function() {
    if ( $(this).val() == 'X' ) {
        $(this).remove();
    }
});

Или просто

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

Суть в том, что find принимает строку селектора, передавая ей x, вы ищете элементы с именем x.

26 голосов
/ 05 октября 2009

find() принимает селектор, а не значение. Это означает, что вам нужно использовать его так же, как и обычную функцию jQuery ($('selector')).

Поэтому вам нужно сделать что-то вроде этого:

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

См. JQuery Найти Документы.

1 голос
/ 21 августа 2018

Когда я только что удалил, опция оставалась в ddl в представлении, но пропала в html (если вы просматриваете страницу)

$("#ddlSelectList option[value='2']").remove(); //removes the option with value = 2
$('#ddlSelectList').val('').trigger('chosen:updated'); //refreshes the drop down list
1 голос
/ 14 июля 2016

Для jquery <1.8 вы можете использовать: </p>

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

для удаления определенного диапазона выбранных опций.

1 голос
/ 30 июня 2016

, если ваш выпадающий список находится в таблице, и у вас нет идентификатора для него, тогда вы можете использовать следующий jquery:

var select_object = purchasing_table.rows[row_index].cells[cell_index].childNodes[1];
$(select_object).find('option[value='+site_name+']').remove();
1 голос
/ 19 сентября 2015

Работает либо с тегом параметра, либо с текстовым полем:

$("#idname option[value='option1']").remove();
0 голосов
/ 03 апреля 2019

Перебор списка и удаление нескольких элементов с помощью поиска. Ответ содержит массив целых чисел. $ ('# OneSelectList') - список выбора.

$.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");
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...