Jump to content

Archived

This topic is now archived and is closed to further replies.

Rodolfo TI

Checkbox outros dinâmico com javascript

Recommended Posts

Olá amigos tudo bem ?

Tenho um campo que vem de um select box

 <div class="col-lg-4">
                     <select class="form-control" name="notificado">
                        {% for setor in setores %}
                          <option value="{{ setor.getIdSetor }}" >
                                {{ setor.getNome|convert_encoding('UTF-8', 'ISO-8859-1') }} 
                           </option>
                        {% endfor %}
                      </select>
                  </div>

Tipo isso, aí tem as opções que vem do banco e tal, aí queria fazer com que houvesse um checkbox, com a opção outros, e caso está fosse selecionada abrir um input type text, pra que a pessoa escrevesse o outro texto, diferente do listado.

 

Acredito que isso tenha um nome, mas não sei qual, caso alguém posso informar, sabendo pelo menos o nome do meus pulos aqui, obrigado galera!

Share this post


Link to post
Share on other sites

Tipo isso, até peguei o exemplo mas fiz assim:

 

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
        $("#div-ocorrencia").hide();
});
function ocorrencia(){
        if(document.getElementById('sel-ocorrencia').value == "Outro"){
                $("#div-ocorrencia").show();
                $("#sel-ocorrencia").hide();

        }
}
</script>
</head>
<body>
        <select name="sel-ocorrencia" id="sel-ocorrencia" onchange="ocorrencia()">
                <option value=""></option>
                <option value="Ocorrencia 1">Ocorrencia 1</option>
                <option value="Ocorrencia 2">Ocorrencia 2</option>
                <option value="Outro">Outro</option>
        </select>
        
        <div class="col-lg-4" id="div-ocorrencia">
                <input type="text" class="col-lg-4 form-control"  name="ocorrencia" required="" placeholder="Ocorrencia">
        </div>
</body>
</html>

Só que aí o seguinte, se pessoa quiser voltar fica ruim né :S

 

E também fiquei na duvida de como submeter o form, passando o falor do input text, o que acontece é o seguinte tenho que passar uma "Ocorrência" existem algumas que são padrão, vão ser listadas, só que o usuário pode escolher a opção outro e escrever uma diferente.

 

Acho que na criação do tópico, não deixei muito clara minha dúvida, desculpem.

Share this post


Link to post
Share on other sites

pq fica ruim ?

 

é só voltar..

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
        $("#div-ocorrencia").hide();
});
function ocorrencia(el){
        if(el.value == "Outro"){
                $("#div-ocorrencia").show();
                //$("#sel-ocorrencia").hide();
        } else {
                $("#div-ocorrencia").hide();
                //$("#sel-ocorrencia").show();
        }
}
</script>
</head>
<body>
        <select name="sel-ocorrencia" id="sel-ocorrencia" onchange="ocorrencia(this)">
                <option value=""></option>
                <option value="Ocorrencia 1">Ocorrencia 1</option>
                <option value="Ocorrencia 2">Ocorrencia 2</option>
                <option value="Outro">Outro</option>
        </select>
        
        <div class="col-lg-4" id="div-ocorrencia">
                <input type="text" class="col-lg-4 form-control"  name="ocorrencia" required="" placeholder="Ocorrencia">
        </div>
</body>
</html>

não entendi a sua dúvida sobre submeter o form. O input text vai ser enviado normal..

Share this post


Link to post
Share on other sites

não entendi a sua dúvida sobre submeter o form. O input text vai ser enviado normal..

 

 

Então, tenho que pegar ou um ou outro certo ?

 

Hoje eu faço assim pra pegar o valor do post:

 

if(isset($array['ocorrencia'])){
   $this->ocorrencia = $array['ocorrencia'];
}

só que dessa forma pego o que tem name ocorrencia, devo submeter o input text com outro nome, e colocar no else por exemplo? Tipo isso:

 

 if(isset($array['sl-ocorrencia'])){
      $this->ocorrencia = $array['sl-ocorrencia'];
 }else if(isset($array['txt-ocorrencia'])){
      $this->ocorrencia = $array['txt-ocorrencia'];
}

Share this post


Link to post
Share on other sites

com isset não cara, sempre vai existir

 

veja se o valor do select é Outros, se for use o input, se não use o valor do select.

Share this post


Link to post
Share on other sites

×

Important Information

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