jQuery удалить параметры из select
У меня есть страница с 5 выбирает, что все имеют имя класса "ct". Мне нужно удалить параметр со значением " X " из каждого выбора при запуске события onclick. Мой код:
$(".ct").each(function() {
$(this).find('X').remove();
});
где я ошибаюсь?
7 ответов:
попробуйте это:
$(".ct option[value='X']").each(function() { $(this).remove(); });
или быть более кратким, это будет работать так же хорошо:
$(".ct option[value='X']").remove();
$('.ct option').each(function() { if ( $(this).val() == 'X' ) { $(this).remove(); } });
или просто
$('.ct option[value="X"]').remove();
главное
find
берет строку селектора, подавая ееx
вы ищете элементы по имениx
.
find()
принимает селектор, а не значение. Это означает, что вы должны использовать его так же, как вы бы использовали обычную функцию jQuery ($('selector')
).поэтому вам нужно сделать что-то вроде этого:
$(this).find('[value="X"]').remove();
смотрите jQuery найти docs.
если выпадающий список находится в таблице и у вас нет идентификатора для него, то вы можете использовать следующий jquery:
var select_object = purchasing_table.rows[row_index].cells[cell_index].childNodes[1]; $(select_object).find('option[value='+site_name+']').remove();
для jquery
$('#selectedId option').slice(index1,index2).remove()
для удаления определенного диапазона выбранных параметров.