Ir para conteúdo

Arquivado

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

gabrilpinho

trazer dependendo do radio selecionado

Recommended Posts

Ola galera bom dia

seguinte to precisando que alguma função em javascript que dependendo da radio que eu selecionar vai trazer os dados na select seguinte.

Exemplo: se eu selecionar a radio jogos na select só pode aparecer os jogos, se selecionar a radio livros só aparecera na select os livro, assim sucessivamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei em 2 possibilidades:

$('#elemento').change(function() {

if ( $(this).is(':checked') ) {
$("select#livros").show();
}

else {
$("select#livros").hide();
}

});




$(".elemento").change(function(){

var elementoChecked = $(this).attr('value');

if ( elementoChecked == "listaLivros" ) {

$("select").hide();
$("select#livros").show();

}

else if ( elementoChecked == "listaJogos" ) {

$("select").hide();
$("select#jogos").show();

}
...

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite, não tenho nada contra jquery, mas anda que o "Vanilla" não resolva :D segue uma função básica que cumpre o que você precisa....

Primeiro o HTML e em seguida o JS:

         Livros
         <input type="radio" value="livros" name="opcao" id="radio-livros" />
         
        Jogos
        <input type="radio" value="jogos"  name="opcao"  id="radio-jogos" />

        <select id="opcoes">
        </select>
var radioLivros = document.getElementById('radio-livros');
var radioJogos = document.getElementById('radio-jogos');
var select = document.getElementById('opcoes');
var jogos = ['Mario','Sonic','GTA'];
var livros = ['Clean code','Clean coder'];

radioJogos.addEventListener('click', function(){
    popularSelect();
});

radioLivros.addEventListener('click', function(){
    popularSelect();
});

function popularSelect(){
    if(radioJogos.checked === true){
        inserirDadosNoSelect(jogos);
    }else{
        inserirDadosNoSelect(livros);
    }
}

function inserirDadosNoSelect(dados){
    select.options.length = 0;
    for(var index=0;index<dados.length;index++){
        select.options[index] = new Option(dados[index]);
    }
}

Quando disse Vanilla caso não saiba seria nosso o JS puro, na munheca hahah

Espero que ajude, acredito que a resposta acima também é uma boa! Claro, se você estiver utilzando a biblioteca Jquery :)

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.