Ocultando opções de um Select com JQuery

Ok, vamos começar com um exemplo.
Lembre-se, este é apenas um exemplo.

<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>

Agora, a partir daqui, temos um menu suspenso com três opções.
O que eu quero fazer agora é ocultar uma opção.

Adicionandostyle = "display:none" vainão Socorro.
A opção não apareceria na lista suspensa, mas, usando as teclas de seta, você ainda pode selecioná-la.
Essencialmente, ele faz exatamente o que o código diz. Não é exibido e pára por aí.

Uma função JQuery de$("#1").hide() não funciona.
Além disso, não quero apenas ocultar a opção, quero removê-la completamente.

Alguma possibilidade de fazê-lo?
Eu tenho que usar elementos pai / irmão / filho? Se sim, ainda não sei como.

Qualquer ajuda neste assunto seria altamente apreciada. Obrigado.
    
    

Outra pergunta - está relacionada

Ok, então eu descobri que existe uma.remove() disponível no JQuery. Funciona bem.
Mas e se eu quiser trazê-lo de volta?

se (condição)
    {
$ (this) .remove ();
    }

Eu posso dar laços nisso. Não deve ser complicado.
Mas o que estou tentando fazer é o seguinte:

Capacidade máxima da classe: (campo de entrada aqui)
Selecionar quarto: (suspenso aqui)

O que eu gostaria de fazer é atualizar o Dropdown usando uma função como.change() ou.keyup.
Eu poderia criar a lista suspensa somente depois que algo for digitado. Em uma alteração ou keyup, execute a lista suspensa de acordo.
Mas o que estou fazendo é o seguinte:

$ roomarray = mysql_query ("SELECT *
DE
        (
SELECT *,
CASO
QUANDO tipo = 'Sala de Aula' ENTÃO 1
WHEN tipo = 'Laboratório de informática' ENTÃO 2
QUANDO tipo = 'Sala de aula' ENTÃO 3
QUANDO tipo = 'Auditório' ENTÃO 4
END AS ClassTypeValue
DE quartos
) t
ORDER BY 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>";

Sim, eu sei que é muito confuso.
Eu pretendo mudar isso mais tarde.

Mas o problema agora é o seguinte: Posso alternar a remoção das opções de acordo com o que foi digitado?
É possível fazer isso com uma lista suspensa feita de um loop? Porque com certeza não consigo continuar executando consultas SQL. Ou isso é mesmo uma opção? Porque se é possível, ainda acho ruim.

questionAnswers(6)

yourAnswerToTheQuestion