Cacher les Options d'un Select avec JQuery

Bien, nous allons commencer par un exemple.
Gardez à l'esprit, ce n'est qu'un exemple.

<select id = "selection1">
<option value = "1" id = "1">Number 1</option>
<option value = "2" id = "2">Number 2</option>
<option value = "3" id = "3">Number 3</option>
</select>

Maintenant à partir d'ici, nous avons une liste déroulante avec les 3 options.
Ce que je veux faire maintenant est de cacher une option.

Ajoutant style = "display:none" sera pas aider.
L'option n'apparaît pas dans la dropdownlist, mais en utilisant les touches fléchées, vous pouvez toujours sélectionner.
Essentiellement, c'est exactement ce que le code dit. Il n'est pas affichée, et ça s'arrête là.

Une fonction JQuery de $("#1").hide() ne fonctionnera pas.
De Plus, je n'ai pas seulement envie de cacher l'option, je veux le supprimer complètement.

Toute éventualité de le faire?
Dois-je utiliser mère/frère/éléments d'enfant? Si oui, je ne suis toujours pas sûr de savoir comment.

Toute aide serait grandement appréciée. Merci.

Une autre question - C'est lié

Ok, donc, j'ai découvert qu'il y est un .remove() disponible en JQuery. Fonctionne bien.
Mais que faire si je veux le ramener?

si(condition)
{
$(this).remove();
}

Je peux boucles. Ne devrait pas être compliqué.
Mais la chose dont je suis en train de faire est ceci:

Capacité maximale de la Classe: (champ de Saisie ici)
Sélectionnez la Pièce: (liste Déroulante ici)

Ce que je voudrais pour elle de le faire est de mettre à jour se Déroulant à l'aide d'une fonction telle que .change() ou .keyup.
J'ai pu créer la liste déroulante seulement après que quelque chose est tapé. Lors d'une modification ou d'une keyup, exécutez la liste déroulante en conséquence.
Mais ce que je suis en train de faire est ceci:

$roomarray = mysql_query("SELECT *
DEPUIS
(
SELECT *,
CAS
QUAND le type = "salle de Classe" PUIS 1
QUAND le type = 'laboratoire d'Informatique", PUIS 2
LORSQUE type = "Salle de Conférence", PUIS 3
LORSQUE type = "Auditorium", PUIS 4
FIN tant QUE ClassTypeValue
chambres
) t
COMMANDE PAR ClassTypeValue, maxppl, roomID");

echo "<select id = \"room\">";

while ($rooms = mysql_fetch_array($roomarray))
    { ?>
    <option value=<?php echo $rooms['roomID']; ?> id=<?php echo $rooms['roomID']; ?>><?php echo $rooms['type']; echo "&nbsp;"; echo $rooms['roomID']; echo "&nbsp;("; echo $rooms['maxppl']; echo ")"; ?></option>
    <?php
    }

echo "</select>";

Oui, je sais que c'est très salissant.
J'ai l'intention de le changer plus tard.

Mais la question qui se pose maintenant est celle-ci: puis-je basculer le retrait des options en fonction de ce qui a été tapé?
Est-il possible de le faire avec une liste déroulante faite à partir d'une boucle? Parce que je suis sûr que l'enfer ne peut pas garder exécution de Requêtes SQL. Ou est-ce encore une option? Parce que si c'est possible, je pense toujours que c'est une mauvaise.

BTW: ..n'est pas valide, d'avoir un id ou un nom de classe commence avec un certain nombre - voir stackoverflow.com/questions/448981/...
J'ai changé la réponse dans un plugin qui prennent en charge les désactiver (supprimer) et de l'activer (append) des options. J'espère que ça répond à votre question(s).

OriginalL'auteur Syed Abdul Rahman | 2011-01-15