jquery过滤一个select,其选项包含一些字符串

前端之家收集整理的这篇文章主要介绍了jquery过滤一个select,其选项包含一些字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑下面的选择
<select id="phone_line" name="phone_line">
    <option value=""></option>
    <option value="BB-11">Line 1</option>
    <option value="AA-22">Line 2</option>
    <option value="AA-33">Line 3</option>
    <option value="BB-44">Line 4</option>
</select>

如果我想过滤选项并删除值为BB-44的行,我可以这样做:

$('#phone_line option').filter(' option[value="BB-44"] ').remove();

如果我想删除其值以AA开头的行?我可以用以下各项做到:

$("#phone_line > option").each(function () {    
    if (this.value.substring(0,2) === 'AA') {
        $("#phone_line option[value='" + this.value +"']").remove();
    }
});

但我可以使用过滤器(一行吗?!).代码

http://jsfiddle.net/mpp4emd1/

@H_301_16@

解决方法

使用属性以选择器开头就可以了
$('#phone_line option[value^="AA"]').remove();

参考:Attribute Starts With Selector [name^=”value”]

DEMO

对于更复杂的过滤使用过滤器(功能)

$("#phone_line > option").filter(function () {    
   return this.value.substring(0,2) === 'AA';
}).remove();
@H_301_16@ @H_301_16@ 原文链接:https://www.f2er.com/jquery/177667.html

猜你在找的jQuery相关文章