jQuery从select中删除选项
我有一个有5个select的页面,都有一个类名“ct”。 我需要在运行onclick事件时从每个select中删除一个值为“X”的选项。 我的代码是:
$(".ct").each(function() { $(this).find('X').remove(); });
我哪里错了?
尝试这个:
$(".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
需要一个select器string,通过提供它你正在寻找名为x
元素。
find()
需要一个select器,而不是一个值。 这意味着您需要以与使用常规jQuery函数( $('selector')
)相同的方式来使用它。
所以你需要做这样的事情:
$(this).find('[value="X"]').remove();
查看jQuery 查找文档。
如果你的下拉列表在表中,而你没有id,那么你可以使用下面的jquery:
var select_object = purchasing_table.rows[row_index].cells[cell_index].childNodes[1]; $(select_object).find('option[value='+site_name+']').remove();
对于jquery <1.8,你可以使用:
$('#selectedId option').slice(index1,index2).remove()
删除select选项的特定范围。
它适用于选项标签或文本字段:
$("#idname option[value='option1']").remove();