Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Elemke

Alterar Dinamicamente os options de um Select

Recommended Posts

Prezados,

 

Tenho um elemento Select que inicia assim:

 

<select name="idevento" id="idevento">
 <option value="01">Item1</option>
 <option value="02">Item2</option>
 <option value="03">Item3</option>
</select>

 

 

Preciso alterar o mesmo com base numa seleção em outro Select, ou seja, vou precisar ocultar, por exemplo, o option com value="02"... algum idéia

 

Algo do tipo:

 

$("#idevento > option").find().remove()

 

Sei lá... Localizo o que quero e removo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... tenta assim:

$("#idevento").find("option[value='01']").remove();

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

hum... tenta assim:

$("#idevento").find("option[value='01']").remove();

 

Pô... você sempre salvando a pátria.... funfou.. \o/

 

Só uma dúvida...

 

E se quiséssemos manter apenas um dos options e remover os demais (imaginando numa lista grande), como poderíamos fazer??

 

Algo assim:

$("#idevento").find("option[value<>'01']").remove();

 

Obviamente o <> não vai funcionar... só para passar a lógica..

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. ai acho que tem que usar algo como:

 

"pegar todos menos um", me veio a mente, o :not

$("#idevento").find("option:not([value='01'])").remove();

algo assim.. tem q ver a sintaxe certinha.. tem o seletor :not, e a função .not(), com certeza com eles dá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

hum.. ai acho que tem que usar algo como:

 

"pegar todos menos um", me veio a mente, o :not

$("#idevento").find("option:not([value='01'])").remove();

algo assim.. tem q ver a sintaxe certinha.. tem o seletor :not, e a função .not(), com certeza com eles dá.

Blz Cara... mais uma vez vc está correto...

 

Agora o que eu fiz para manter mais de um option e remover os outros.... Faço a remoção conforme value do option

 

        $("#idevento > option").each(function(i){
            op = $(this).val();
            if (op != 104 && op != 105 ) {
                $(this).remove();
            }
        });

 

 

Podemos melhorar isso?? rsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa mais de um not.. igual o de cima, só que com virgulas:

$("#idevento").find("option:not([value='01']),option:not([value='02'])").remove();

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

usa mais de um not.. igual o de cima, só que com virgulas:

$("#idevento").find("option:not([value='01']),option:not([value='02'])").remove();

 

Pois é.... tinha tentado isso e não dava certo: Solução: Temos que usar ponto e vírgula (;):

 

 $("#idevento").find("option:not([value='104']);option:not([value='105'])").remove();

 

Pode dar como resolvido o Post... e obrigado pelas dicas :worship:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.