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.
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 " "; echo $rooms['roomID']; echo " ("; 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.