使用Jquery按值过滤选项

Gok*_*oku 6 jquery

我想通过值来过滤jquery选项,如果我有:

<select class="generic-widget" id="phone_line" name="phone_line">
<option value=""></option>
<option value="2">71158189</option>
<option value="4">71158222</option>
<option value="3">99199152</option>
<option value="1">98199153</option>
</select>
Run Code Online (Sandbox Code Playgroud)

对于这种情况,我必须显示值为"3"和值="4"的选项.

使用:

$('#phone_line option[value!="3"]').remove();
Run Code Online (Sandbox Code Playgroud)

我只能过滤一个值,但我需要使用x值

我怎样才能做到这一点?谢谢.

tym*_*eJV 5

如果你要一遍又一遍地重复使用它,创建一个函数是个好主意.下面是您要删除的值的数组参数:

function removeOptions(array) {
    for (var i = 0; i < array.length; i++) {
        $('#phone_line option[value="' + array[i] + '"]').remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

快速演示:http://jsfiddle.net/tymeJV/Ca2hb/1/


che*_*oza 3

你需要一个像这样的函数:

function removeOptions(id,array){
    str='[value!=""]';
    for(i=0;i<array.length;i++){
        str += '[value!='+array[i]+']';
    }
    $('#'+id+' option'+ str ).remove();
}
Run Code Online (Sandbox Code Playgroud)

如果您有一个包含不想删除的选项的数组,如下所示:

var myopts = [3,4];
Run Code Online (Sandbox Code Playgroud)

你只运行:

removeOptions('phone_line', myopts);
Run Code Online (Sandbox Code Playgroud)

干杯!