2016-04-22 9 views
0

Ich habe danach gesucht, aber nicht finden konnte, die Antwort, die ich habe, dies zu verbergen:Wie mehrere Werte in einmal mit jquery

$("#id option[value='1']").hide(); 

Es wird verstecken meine Option Nummer 1 in der Drop-Down-aber ich bin versuchen, mehr zu verstecken und ich könnte nur kopieren, das mit Wert 2 usw., aber ich denke, ich kann dies in einmal tun! Aber wie ?

habe ich versucht, so etwas wie dieses

$("#id option[value='1,2,3']").hide(); 

aber es funktioniert nicht, auch versucht

var something = [1,2,3]; 
    $("#id option[value='something']").hide(); 

ich etwas falsch mache, aber kann nicht herausfinden, was.

+1

'var etwas = [1, 2, 3]; $ ("# SoinsCourantsViewModel_UniteConsultationCAS-Option"). Filter (something.map (function (wert) { return '[wert = "' + wert + '"]' }). Join()). Hide(); ' –

+0

funktioniert auch nicht:/danke @ArunPJohny, das funktioniert :) –

+0

Wie wäre es mit' $ ("# ID Option [Wert = '1'], # ID Option [Wert = '2'], # ID Option [ value = '3'] "). hide();' –

Antwort

0

Ich denke, eine bessere Lösung wäre ein Datenattribut der Option werden Einstellung, sie

Kategorisieren und dann verstecken/show mit $('option[data-category="'+X+'"], $('#id')).hide()

Die Array-Karte Lösung (in den Kommentaren angegeben) funktionieren würde zu

2

versuchen, diesen Code ein:

Wenn Sie ausblenden möchten:

var something = [1,2,3]; 
$('#id option').filter(function() { 
    return ($.inArray(parseInt(this.value), something) > -1); 
}).hide(); 

und wieder zeigt es erforderlich:

var something = [1,2,3]; 
    $('#id option').filter(function() { 
     return ($.inArray(parseInt(this.value), something) > -1); 
    }).show(); 
0

Verwendung von JavaScript-Array:

var something = [1,2,3]; 
var i; 
for (i = 0; i < something.length; i++) { 
    $("#id option[value='"+something[i]+"']").hide(); 
}