Ir para conteúdo

Arquivado

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

T-Rexz

Div some após selecionar uma opção de seleção

Recommended Posts

O negócio é o seguinte: estou criando apenas um arquivo html bem simples e básico para os atendentes utilizarem para agilizar o serviço deles em vez de inserir manualmente. Então, estou com uma dificuldade para tentar achar o problema que está ocasionando o div sumir após selecionar a segunda opção para baixo (tenta selecionar Beltrano ou Carlitos) na seleção, apenas a primeira opção Fulano está funcionando (outro detalhe: no outro arquivo que tenho segue a mesma lógica, mas é arquivo teste apenas e funciona de escolher qualquer uma das opções normalmente, mesmo sendo um arquivo-teste). Veja o código abaixo e me diz onde tá o erro que está causando??

PS: estou utilizando o Chrome apenas, a pedido da empresa.

 

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>SCRIPTS - RECEPÇÃO</title>
<style type="text/css">
    .carimboExecutador{
		background: #ff0000;
	}	
	.box{
        color: #fff;
        padding: 20px;
        display: none;
        margin-top: 20px;
    }

</style>

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("select").change(function(){
        $(this).find("option:selected").each(function(){
            var optionValue = $(this).attr("value");
            if(optionValue){
                $(".box").not("." + optionValue).hide();
                $("." + optionValue).show();
            } else{
                $(".box").hide();
            }
        });
    }).change();
});

  function copiarTexto5() {
    var textoCopiado5 = document.getElementById("link5");
    textoCopiado5.select();
    document.execCommand("Copy");
  }

  <!-- function copiarTexto() { -->
    <!-- var textoCopiado = document.getElementById("link"); -->
    <!-- textoCopiado.select(); -->
    <!-- document.execCommand("Copy"); -->
  <!-- } -->
 
function selecionaAtendente()
{
	var puxa = $( "#listaAtendente" ).val();
	var str = document.getElementById("link5").value; 
	var n = str.replace(/XX|FULANO|BELTRANO|CARLITOS/gi,puxa);
	document.getElementById("link5").value=n;
}

</script>
</head>
<body>
<!-- DIV PARA EXIBIR LISTA DE OPÇÕES -->
    <div>
		<h4><font face="arial" color="red">ESCOLHA A SCRIPT:</font></h2>
        <select>
			<option disabled selected>Clique aqui para exibir a lista</option>
			<option disabled></option>
			<option value="carimboExecutador">Carimbo - Identificação Executador</option>
        </select>
    </div>
    
<!-- CLASSES PARA EXIBIR DIVS SELECIONADOS -->

    <div class="carimboExecutador box">
		<h2><font face="arial" color="white">CARIMBO - IDENTIFICAÇÃO EXECUTADOR</font></h2>
<b><font face="arial" color="white">Selecione o Responsável:</font></b> <select id="listaAtendente">
    <option value="FULANO">Fulano</option>
	<option value="BELTRANO">Beltrano</option>
	<option value="CARLITOS">Carlitos</option>
</select>
<button onclick="selecionaAtendente()">Preencher Técnico</button>		
		<br/><textarea rows="4" cols="90" id="link5" name="link5" readonly>
NOME: XX
CARGO: ATENDENTE DE TELEMARKETING
</textarea>
<br/><button onClick="copiarTexto5()">Copiar Texto</button>
</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

1-) Retire a seguinte linha do seu script:

$(".box").not("." + optionValue).hide();

2-) A declaração .change(); não produz qualquer efeito

3-) Comentários em JavaScript usam os seguinte símbolos:
// para comentar linhas
/*   blocos  */  para comentar blocos de código

Você usou indevidamente <!--   -->

Compartilhar este post


Link para o post
Compartilhar em outros sites
51 minutos atrás, Maujor disse:

1-) Retire a seguinte linha do seu script:


$(".box").not("." + optionValue).hide();

2-) A declaração .change(); não produz qualquer efeito

3-) Comentários em JavaScript usam os seguinte símbolos:
// para comentar linhas
/*   blocos  */  para comentar blocos de código

Você usou indevidamente <!--   -->

 

1) Retirei a linha citada e deu certo aparentemente (ainda tenho que retirar no arquivo final e testar EDIT: veja o edit mais abaixo)... então, deixa eu entender esta linha de comando: este .not junto com .hide significa que se houver optionValue, ele vai negar a opção de seleção (.not), que irá ocultar a div com .hide se a pessoa mudar algo na seleção, é isso?

2-) Entendi... removi a declaração que está lá à toa, valeu!!

3-) Tô ciente nisso... é que tô usando o notepad++ e não sei qual é o comando que aplique o /*   */ diretamente, pois estou acostumando a fazer a seleção e depois aplicar o comando (CTRL+K) que gera o <!--   -->. Então, qual comando seria para aplicar o /* */ no notepad++ ou terei que fazer isso manualmente?

 

@Maujor

 

Fiz o teste com o arquivo final e não deu certo, pois dps que retirei a linha citada, as divs selecionadas aparecem em vez de uma só div por vez. Já já te passarei uma script de demonstração com 3 seleções para tu entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites
24 minutos atrás, Maujor disse:

Aguardo!

 

 

Segue o código-fonte abaixo (só botei 3 opções, pois o arquivo completo tem mais de 10, mas todos seguem o mesmo conceito), lembrando-se que eu coloquei // nas linhas que você pediu para retirar ou q não fazem sentido, mas estão lá para em caso de necessidade, ok:

 

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>SCRIPTS - EXEMPLO</title>
<style type="text/css">
	.box{
        color: #fff;
        padding: 20px;
        display: none;
        margin-top: 20px;
    }
    .carimboExecutador { background: #ff0000; }	
	.relatoInstala { background: #ff0000; }	
	.relatoReparo { background: #ff0000; }

</style>

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("select").change(function(){
        $(this).find("option:selected").each(function(){
            var optionValue = $(this).attr("value");
            if(optionValue){
                //$(".box").not("." + optionValue).hide();
                $("." + optionValue).show();
            } else{
                $(".box").hide();
            }
        });
    });//.change();
});

  function copiarTexto5() {
    var textoCopiado5 = document.getElementById("link5");
    textoCopiado5.select();
    document.execCommand("Copy");
  }

  function copiarTexto6() {
    var textoCopiado6 = document.getElementById("link6");
    textoCopiado6.select();
    document.execCommand("Copy");
  }

  function copiarTexto7() {
    var textoCopiado7 = document.getElementById("link7");
    textoCopiado7.select();
    document.execCommand("Copy");
  }

  function reset6() {
    var link6 = document.getElementById('link6');
    if (!link6.value || link6.value != link6.defaultValue && confirm('Restaurar o conteúdo original?')) {
        link6.value = link6.defaultValue;
    }
  }

  function reset7() {
    var link7 = document.getElementById('link7');
    if (!link7.value || link7.value != link7.defaultValue && confirm('Restaurar o conteúdo original?')) {
        link7.value = link7.defaultValue;
    }
  }

 
function selecionaAtendente()
{
	var puxa = $( "#listaAtendente" ).val();
	var str = document.getElementById("link5").value; 
	var n = str.replace(/XX|FULANO|BELTRANO|CARLITOS/gi,puxa);
	document.getElementById("link5").value=n;
}

function selecionaTecnico()
{
	var puxa = $( "#listaTecnico" ).val();
	var str = document.getElementById("link6").value; 
	var n = str.replace(/XX|FILIPE MENDES|TARCISIO ATHILA|JUELMO LOPEZ/gi,puxa);
	document.getElementById("link6").value=n;
}

function selecionaRecepcionista()
{
	var puxa = $( "#listaRecepcionista" ).val();
	var str = document.getElementById("link7").value; 
	var n = str.replace(/XX|PELÉ|ALLEJO|ROMÁRIO/gi,puxa);
	document.getElementById("link7").value=n;
}

</script>
</head>
<body>
<!-- DIV PARA EXIBIR LISTA DE OPÇÕES -->
    <div>
		<h4><font face="arial" color="red">ESCOLHA A SCRIPT:</font></h2>
        <select>
			<option disabled selected>Clique aqui para exibir a lista</option>
			<option disabled></option>
			<option value="carimboExecutador">Carimbo - Identificação Executador</option>
			<option value="relatoInstala">Relato - Instalação</option>
			<option value="relatoReparo">Relato - Reparo via S.A.C. Presencial</option>
        </select>
    </div>
    
<!-- OPÇÃO 1 -->

    <div class="carimboExecutador box">
		<h2><font face="arial" color="white">CARIMBO - IDENTIFICAÇÃO EXECUTADOR</font></h2>
<b><font face="arial" color="white">Selecione o Responsável:</font></b> <select id="listaAtendente">
    <option value="FULANO">Fulano</option>
	<option value="BELTRANO">Beltrano</option>
	<option value="CARLITOS">Carlitos</option>
</select>
<button onclick="selecionaAtendente()">Preencher Atendente</button>		
		<br/><textarea rows="4" cols="90" id="link5" name="link5" readonly>
NOME: XX
CARGO: ATENDENTE DE TELEMARKETING
</textarea>
<br/><button onClick="copiarTexto5()">Copiar Texto</button>
</div>

<!-- OPÇÃO 2 -->	
	
	<div class="relatoInstala box">
		<h2><font face="arial" color="white">CERTIFICAÇÃO - INSTALAÇÃO</h2>
<br/>
Selecione o Técnico: <select id="listaTecnico">
	<option value="FILIPE MENDES">FILIPE MENDES</option>
	<option value="TARCISIO ATHILA">TARCISIO ATHILA</option>
	<option value="JUELMO LOPEZ">JUELMO LOPEZ</option>
</select>
<button onclick="selecionaTecnico()">Preencher Técnico</button>		
		</font><input type="button" value="Resetar Conteúdo" onclick="reset6();"><br/>
		<textarea rows="8" cols="80" id="link6" name="link6" >
NOME XX - CARGO: TÉCNICO
1- Sr/Sra está conseguindo utilizar a internet nesse momento? SIM NÃO
2- Foi necessário o técnico subir no telhado? SIM NÃO
3- Observou se quebrou alguma telha? SIM NÃO
4- Em relação à velocidade, o técnico fez os testes e
mostrou que está chegando à velocidade contratada? SIM NÃO
5- Ficou alguma dúvida referente ao serviço realizado? SIM NÃO
</textarea>
<br/><button onClick="copiarTexto6()">Copiar Texto</button>
</div>

<!-- OPÇÃO 3 -->
	
	<div class="relatoReparo box">
		<h2><font face="arial" color="white">CERTIFICAÇÃO - REPARO</h2>
<br/>
Selecione o Técnico: <select id="listaRecepcionista">
	<option value="PELÉ">PELÉ</option>
	<option value="ALLEJO">ALLEJO</option>
	<option value="ROMÁRIO">ROMÁRIO</option>
</select>
<button onclick="selecionaRecepcionista()">Preencher Recepcionista</button>		
		</font><input type="button" value="Resetar Conteúdo" onclick="reset7();"><br/>
		<textarea rows="8" cols="80" id="link7" name="link7" >
NOME XX - RECEPÇÃO
1- Resolução de problema relatado pelo Cliente nº XXXX foi resolvido? SIM NÃO
2- Foi emitido recibo para este cliente? SIM NÃO
3- Teve movimentação de estoque para este cliente? SIM NÃO
</textarea>
<br/><button onClick="copiarTexto7()">Copiar Texto</button>
</div>

</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso simplifique:
1-) Na marcação HTML atribua um ID para o select dos scripts:

<select id="escolha-script">
  <option disabled selected>Clique aqui para exibir a lista</option>
  <option disabled></option>
  ...

 

2-) Use esse script

$(document).ready(function(){ 
  $("#escolha-script").change(function(){ 
    let scriptEscolhido = $(this).val();
    $('.box').hide();
    $('.box' + '.' + scriptEscolhido).show();
  }); 
});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alessandro Bodão
      Fala galerinha, 
       
      Tenho um container com um título (h1) no cabeçalho do meu site, esse container ocupa metade da tela (50vw), e eu gostaria que esse título ocupasse toda a largura desse container, independente do seu tamanho ou do tamanho do monitor, de forma com que a palavra tenha exactamente o mesmo tamanho do container (vou anexar uma foto de exemplo). Já tentei todos os valores pra essa h1, como % e vw... mas nada parece fazer sentido.
       
       

    • Por Giovanird
      Olá a todos!
      tenho varias divs com o mesmo ID e nome de classe. Preciso que a cor da div seja conforme uma escala de valores.
      Estou tentando pegar o valor pelo nome da classe, pois as divs possuem o mesmo id e não tive sucesso. Segue script:
      <div class="planos" id="1" value="74">74</div> <div class="planos" id="1" value="29">29</div> <div class="planos" id="1" value="55">55</div> <div class="planos" id="1" value="74">74</div> <div class="planos" id="1" value="63">63</div> <div class="planos" id="1" value="55">55</div> <script type="text/javascript"> var valueElement = document.getElementsByClassName('.planos').getAttribute('value'); console.log(valueElement); if (valueElement >= "70") { document.getElementsByClassName('.planos').style.backgroundColor == '#4caf50'; } else if (valueElement >= "50" && valueElement <= "69") { document.getElementsByClassName('.planos').style.backgroundColor == '#ffbc00'; } else { document.getElementsByClassName('.planos').style.backgroundColor == '#f44336'; } </script>  
       
    • Por GOD
      Quero um código div ou qualquer outra forma, para atingi esse resultado do link
       https://drive.google.com/file/d/0B8Ssi9zuKdQWMExWeVpGUXN0MlRsUzdmdGRuTFl2eU1yejB3/viewocal
       
      Para ficar nesse local.
      https://drive.google.com/file/d/0B8Ssi9zuKdQWeGZSSnVBaFBxM1FUN1hEeWdrRzhTNWI0Q01Z/view
       
      Meu objetivo é que em cada quadro da div, fique uma noticia de um site especifico, que pretendo colocar através de plugin rss.
       
       
      Enfim espero uma ajuda sobre como posso fazer isso
       
       
    • Por rcsbnu27
      Estou tentando ajudar um amigo a desenvolver seu site pessoal ele me passou um modelo, onde não estou conseguindo fazer um link de menu quando clicar nos anos iniciais ir para as turmas dos anos iniciais no menu atividade educacionais, segue em anexo o código. Endereço para ter ideia do que estou falando: https://www.profrodrigo.com/temporario/index.html. Nesta parte:
      HTML
      <div class="container"> <div class="row"> <div class="col-sm-2"> <a href="#anosiniciais" > <img src="images/anos/anosiniciais.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> <div class="col-sm-2"> <a href="#anosfinais" > <img src="images/anos/anosfinais.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> </div> </div> </div> </div> </div> <div class="section news-section" id="anosiniciais"> <div class="container"> <div class="row"> <div class="col-sm-2"> <a href="#" target="_blank"> <img src="images/turmas/pres.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> <div class="col-sm-2"> <a href="#" target="_blank"> <img src="images/turmas/1sanos.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> <div class="col-sm-2"> <a href="#"> <img src="images/turmas/2sanos.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> <div class="col-sm-2"> <a href="#"> <img src="images/turmas/3sanos.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> <div class="col-sm-2"> <a href="#"> <img src="images/turmas/4sanos.png" class="img-responsive" width="190" height="190" alt=""> </a> </div> </div> </div> </div>

      <div class="section news-section" id="anosfinais">
      <div class="container">
      <div class="row">
      <div class="col-sm-2">
      <a href="#">
      <img src="images/turmas/5sanos.png" class="img-responsive" width="190" height="190" alt="">
      </a>
      </div>
      <div class="col-sm-2">
      <a href="https://www.ebmalbertostein.com" target="_blank">
      <img src="images/turmas/6sanos.png" class="img-responsive" width="190" height="190" alt="">
      </a>
      </div>
      <div class="col-sm-2">
      <a href="https://www.profgarrido.com" target="_blank">
      <img src="images/turmas/7sanos.png" class="img-responsive" width="190" height="190" alt="">
      </a>
      </div>
      <div class="col-sm-2">
      <a href="#">
      <img src="images/turmas/8sanos.png" class="img-responsive" width="190" height="190" alt="">
      </a>
      </div>
      <div class="col-sm-2">
      <a href="#">
      <img src="images/turmas/9sanos.png" class="img-responsive" width="190" height="190" alt="">
      </a>
      </div>
      </div>
      </div>
      </div>
    • Por lezão
      Ola pessoal!
      Td bem com vcs?
       
      Estou tentando fazer esse item ficar em css e naun estou conseguindo alguem pode me ajudar?
      <table width="75%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="15%" height="35"><b>Moda da Casa</b></td> <td width="55%" style="border-bottom: dotted; border-width: 1px 3px 3px 1px; border-color: black black #000000 #000000"></td> <td width="7%"><b>R$ 25,00</b></td> <td width="3%" rowspan="2" align="left"><img src="https://clipartart.com/images/delete-button-clipart.jpg" width="75px" heigth="50px"/></td> </tr> <tr> <td colspan="3" height="35"> <div class="label-float"> <input type="text" value="Molho de tomate, mussarela, calabresa ralada, catupiry, alho tostado, cebola, azeitonas e oregano." size="100%" placeholder="" required=""> </div> </td> </tr> </table> obrigado!
       
       
       
×

Informação importante

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