Параметры фільтра па значэнні з Jquery

Я хачу, каб фільтр з jQuery параметраў па значэннях, Калі ў мяне ёсць:


У гэтым выпадку я павінен паказаць параметры са значэннем = "3" і значэння = "4" толькі.

выкарыстанне:

$('#phone_line option[value!="3"]').remove();

Я магу толькі фільтраваць па адным значэнні, але мне трэба нешта, каб выкарыстаць са значэннямі х

Як я магу гэта зрабіць? Дзякуючы.

6
Калі ласка, растлумачце ваш пытанне коратка. Я din't атрымаць вам тое, што вы спрабуеце зрабіць ....
дададзена аўтар Neeraj Singh, крыніца
Адказ Карл-Андрэ Ганьон з'яўляецца добрым адзін: кароткі і эфектыўны! Вы можаце праверыць яго з jsfiddle: jsfiddle.net
дададзена аўтар Manuel LANG, крыніца

8 адказы

Калі вы збіраецеся паўторна выкарыстоўваць гэта зноў і зноў, ствараючы функцыі з'яўляецца добрай ідэяй. Ніжэй прымае параметр масіва значэнняў вы хочаце выдаліць:

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

A quick demo: http://jsfiddle.net/tymeJV/Ca2hb/1/

5
дададзена
прабачце, гэта цяпер выпраўлены
дададзена аўтар Goku, крыніца
Дзякуючы tymeJV ..
дададзена аўтар Goku, крыніца

Вам патрэбна функцыя, як гэта:

function removeOptions(id,array){
    str='[value!=""]';
    for(i=0;i

Калі ў вас ёсць масіў з параметрамі, якія вы не хочаце выдаліць, як гэта:

var myopts = [3,4];

Вы толькі запусціце:

removeOptions('phone_line', myopts);

Ура!

3
дададзена

Ну па-першае, я не ведаю, дзе #line , але гэта не ў HTML вы далі нам.

Па-другое, я хацеў бы выкарыстаць:

$('#phone_line option[value!=3][value!=5]').remove();

Можна мець 2 ўмовы ў адным селектары!

2
дададзена

спрабаваць

$("select[id*='line']").find('option[value!=3], option[value!=5]').remove();

or

$("select[id*='line']").children('option[value!=3], option[value!=5]').remove();

дзякуй,

1
дададзена
гэта выбраць элемент, правяраючы «радок» радок .similar да ўтрымлівае
дададзена аўтар SivaRajini, крыніца
прабачце, Што значыць * =
дададзена аўтар Goku, крыніца
$('#phone_line option').filter(function(){
    return (this.value != 3 && this.value != 4);
}).remove();

<�моцны> FIDDLE

1
дададзена
Дзякуючы Palash ваш адказ быў тым лепш для мяне
дададзена аўтар Goku, крыніца

Калі вы хочаце, каб паказаць толькі варыянты са значэннямі 3 і 4. Гэта можа быць проста зроблена з дапамогай.

$('#phone_line option').not('option[value="3"],option[value="4"]').remove();

Вось дэманстрацыйная .

ці Вы можаце выкарыстоўваць фільтр для пазбягання значэння параметраў, з 4 і 3

$('#phone_line option').filter('option[value="3"],option[value="4"] ').remove();

Вось дэманстрацыйная .

1
дададзена

паспрабуйце гэта

$('#line option[value!=3],option[value!=4]').remove();
0
дададзена
$('#line').find('option[value!=3], option[value!=5]').remove();

If options are direct descendants use .children() instead of .find()

0
дададзена