我目前正在使用此功能删除选项
$("select#select_gender option[value='initial']").remove();
有没有办法删除选项而不添加到选择器 - 如下所示?
$('select#select_gender').val('initial').remove();
THX
答案 0 :(得分:13)
$("select#select_gender option").filter("[value='initial']").remove();
我相信是的。
或根据您的最新评论:
var sel = $("select#select_gender");
sel.find("option[value='initial']").remove();
PS对于这么多编辑感到抱歉:(
答案 1 :(得分:2)
您可以使用以下内容:
$("#select_gender").children().filter(function(index, option) {
return option.value==="initial";
}).remove();
如果您愿意,可以将其变成插件,如下所示:
;(function($) {
$.fn.option=function(value) {
return this.children().filter(function(index, option) {
return option.value===value;
});
};
})(jQuery);
然后你可以用这个:
$("#select_gender").option("initial").remove();
您可以演示here。
答案 2 :(得分:1)
我想你可以将它限制在选项标签
$("select#select_genter option").find("[value='initial']").remove()
然后是diffenet vals
var beg_string = "[value='",
end_string = "']",
while ( ) {
/* loop through a list of values */
$("select#select_genter option").find(beg_string + val + end_str).remove();
}
答案 3 :(得分:0)
你为什么要这样做?你可以做点什么
$('select#select_gender').each(function(a,b){
if ($(this).val() == 'initial'){
$(this).remove();
}
});
但是我不推荐它。使用第一个。这是完美而简单的