我有一个有5个选择的页面,都有一个类名“ct”。我需要从每个选择中删除值为“X”的选项,同时运行onclick事件。我的代码是:
$(".ct").each(function() {
$(this).find('X').remove();
});
我哪里说错了?
我有一个有5个选择的页面,都有一个类名“ct”。我需要从每个选择中删除值为“X”的选项,同时运行onclick事件。我的代码是:
$(".ct").each(function() {
$(this).find('X').remove();
});
我哪里说错了?
当前回答
$('.ct option').each(function() {
if ( $(this).val() == 'X' ) {
$(this).remove();
}
});
或者只是
$('.ct option[value="X"]').remove();
重点是find函数接受一个选择器字符串,通过输入x,你在寻找名为x的元素。
其他回答
如果选项值没有可用的id或类,可以从下拉列表中删除所有值,如下所示
$(this).find('select').find('option[value]').remove();
试试这个:
$(".ct option[value='X']").each(function() {
$(this).remove();
});
或者更简洁地说,这也同样有效:
$(".ct option[value='X']").remove();
尝试删除选定的
$('#btn-remove').click(function () {
$('.ct option:selected').each(function () {
$(this).remove();
});
});
Find()接受选择器,而不是值。这意味着您需要以与使用常规jQuery函数($('selector'))相同的方式使用它。
因此,你需要这样做:
$(this).find('[value="X"]').remove();
参见jQuery find docs。
对于jquery < 1.8,你可以使用:
$('#selectedId option').slice(index1,index2).remove()
删除选定选项的特定范围。