Jump to content
Biel.

pupular select

Recommended Posts

Direto ao ponto: Pessoal o codigo abaixo esta funcionando normalmente. Quero resolver apenas uns detalhes, é o seguinte: No select A

ao selecionar o item camisa por EX gostaria que no select B exibisse somente dois itens (camisaP e camisaM)  e não todos os itens 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){		   
$("select").on("change",function(){												 

	if($('#id_select_a').val()==''){ 
          $("#id_select_b").val(""); 
		  }
//------------------------------------------------			
	else if($('#id_select_a').val()=='camisa'){  
	 $("#id_select_b").val("camisaP");  
	   }
//------------------------------------------------		
	else if($('#id_select_a').val()=='bermuda'){   
          $("#id_select_b").val("bermudaP"); 
		  }
//------------------------------------------------		   
	 else if($('#id_select_a').val()=='blusa'){  
          $("#id_select_b").val("blusaP");
		  }
//------------------------------------------------			
   });     

});
			
</script>

select A
<select name="roupas"  id="id_select_a" required>
    <option value=""></option>
    <option value="camisa">camisa</option>
    <option value="bermuda">bermuda</option>
    <option value="blusa">blusa</option>
</select>

select B
<select name="tamanho" id="id_select_b"  required >
  <option value=""></option>
  <option value="camisaP" >camisaP</option>
  <option value="camisaM" >camisaM</option>
  
  <option value="bermudaP" >bermudaP</option>
  <option value="bermudaM" >bermudaM</option>
  
  <option value="blusaP" >blusaP</option>
  <option value="blusaM" >blusaM</option>
</select>

 

Share this post


Link to post
Share on other sites

Você pode criar uma "estrutura de dados" para isso. Simplifica bastante a implementação e principalmente, a manutenção.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    var opcoes = {
        "": [],
        "camisa": ["camisaP", "camisaM"],
        "bermuda": ["bermudaP", "bermudaM"],
        "blusa": ["blusaP", "blusaM"]
    };
    $.each(opcoes, function(categoria, tamanhos) {
        $("#id_select_a").append('<option>'+categoria+'</option>');
    });
    $("#id_select_a").on("change", function() {
       $("#id_select_b").html('');
       var categoria = $(this).val();
       $.each(opcoes[categoria], function() {
            $("#id_select_b").append('<option>'+this+'</option>');
       });
    });
});
</script>

<label for="id_select_a">select A</label>
<select name="roupas" id="id_select_a" required></select>

<label for="id_select_b">select B</label>
<select name="tamanho" id="id_select_b" required></select>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. O código abaixo está funcionando normalmente. Só não tem um valor mínimo e máximo a ser digitado
      Gostaria que tivesse um valor minimo de 3 e máximo de 7 números. Como Faço? Obrigado.
       
      Máscara Javascript moeda R$
      <script language="javascript"> function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13 || whichCode == 8) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; } </script> valor R$: <input type="text" name="valor" required onKeyPress="return(MascaraMoeda(this,'.',',',event))">  
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal quero (UNIR e DEIXAR) as duas tabelas abaixo na ordem decrescente (DESC)
      tab_aluno id_aluno letras 1 aaa 2 bbb 3 ccc --------------------- tab_aprendiz id_aprendiz nome 1 pedro 2 joao 3 jose ...
      <?php // tentei assim e não deu certo $sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno,id_aprendiz DESC "); // // tentei assim e também não deu certo $sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno DESC , id_aprendiz DESC "); ?> <?php $sql = mysqli_query($con, "SELECT * FROM tab_aluno ORDER BY id_aluno DESC "); $sql = mysqli_query($con, "SELECT * FROM tab_aprendiz ORDER BY id_aprendiz DESC "); ?>  
    • By Biel.
      Direto ao ponto. Pessoal abaixo temos 
      Ex1 que imprime A,B,C,D
      Ex2 que imprime A,B,C,D,A
      No EX2 letra A está se repetindo. Gostaria que não se repetisse. Pensei em duas possibilidades:

      a 1º possibilidade é ignorar que existe no array duas letras A , ou seja não importa quantas letras A tenha no array, será exibido apenas uma letra A
      a 2º possibilidade é criar uma regra if, else e se porventura for adicionado no array dados iguais a regra if else vai impedir que isso ocorra.
      Pessoal não sei por onde começar, mas acredito que a idéia sugerida pode ser válida para que a tarefa seja resolvida. Obrigado.
      ...
      Ex1
      <?php $dados = array("A" , "B" , "C" , "D" ); shuffle($dados); for($a = 0; $a <count($dados); $a++){ $exibe = $dados[$a].' <br> '; echo ($exibe); } ?> Ex2
      <?php $dados = array("A" , "B" , "C" , "D" "A" ); shuffle($dados); for($a = 0; $a <count($dados); $a++){ $exibe = $dados[$a].' <br> '; echo ($exibe); } ?>  
    • By Biel.
      Direto ao ponto. Pessoal abaixo temos EX1 e EX2 . Gostaria que  EX2 tivesse o mesmo resultado que  EX1 e que o ano mudasse automaticamente quando o mês de dezembro acabasse, Vejam:
      EX1
      abril-2019 maio-2019 junho-2019 julho-2019 agosto-2019 setembro-2019 outubro-2019 novembro-2019 dezembro-2019 janeiro-2020 fevereiro-2020 março-2020 Ex2
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php setlocale(LC_ALL, 'portuguese'); date_default_timezone_set('America/Sao_Paulo'); $dia = date('d'); $mes = date('n'); $ano = date('Y'); $meses = array(1 => "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"); $mes_atual = $meses[$mes]; $ano_atual = $ano; echo "<b>mes atual:</b> ".$mes_atual.'<br />'; echo "<b>ano atual:</b> ".$ano_atual; ?> <hr /> <?php if($mes_atual == 'janeiro'){ $tete = array("janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"); } //----------------------------------- elseif($mes_atual == 'fevereiro'){ $tete = array("fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro", "janeiro"); } //----------------------------------- elseif($mes_atual == 'março'){ $tete = array("março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro", "janeiro", "fevereiro"); } //----------------------------------- elseif($mes_atual == 'abril'){ $tete = array( "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" , "janeiro", "fevereiro", "março"); } //----------------------------------- elseif($mes_atual == 'maio'){ $tete = array("maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" , "janeiro", "fevereiro", "março" , "abril"); } //----------------------------------- elseif($mes_atual == 'junho'){ $tete = array("junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" , "janeiro", "fevereiro", "março", "abril", "maio"); } //----------------------------------- elseif($mes_atual == 'julho'){ $tete = array("julho", "agosto", "setembro", "outubro", "novembro", "dezembro", "janeiro", "fevereiro", "março", "abril", "maio", "junho"); } //----------------------------------- elseif($mes_atual == 'agosto'){ $tete = array("agosto", "setembro", "outubro", "novembro", "dezembro", "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho"); } //----------------------------------- elseif($mes_atual == 'setembro'){ $tete = array("setembro", "outubro", "novembro", "dezembro", "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto"); } //----------------------------------- elseif($mes_atual == 'outubro'){ $tete = array("outubro", "novembro", "dezembro", "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro"); } //----------------------------------- elseif($mes_atual == 'novembro'){ $tete = array("novembro", "dezembro", "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro"); } //----------------------------------- elseif($mes_atual == 'dezembro'){ $tete = array("dezembro", "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro" ); } //----------------------------------- for($a=0; $a <count($tete); $a++){ $exibe = $tete[$a].'-'.'<br/>'; echo $exibe; } ?>  
    • By Biel.
      Direto ao ponto. Pessoa abaixo temos Ex1 e Ex2 . No Ex1 como faço para deixar disabled ( terça, quarta e sábado). Obrigado por sua atenção!
      Ex1
      <select name="semanas" size="7" style="font-size:20px;" required> <?php $dados = array("segunda", "terça", "quarta", "quinta", "sexta", "sábado", "domingo" ); for($a=0; $a <count($dados); $a++){ $exibe = $dados[$a]; ?> <option value="<?php echo $exibe; ?>" ><?php echo $exibe; ?></option> <?php } ?> </select> Ex2
      <select name="semanas" size="7" style="font-size:20px;" required> <option value="segunda" >seg</option> <option value="terça" disabled="disabled">ter</option> <option value="quarta" disabled="disabled">qua</option> <option value="quinta" >qui</option> <option value="sexta" >---</option> <option value="sábado" disabled="disabled">sab</option> <option value="domingo" >dom</option> </select>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.