Jump to content
violin101

JAVASCRIPT - Verificar duplicidade de Código

Recommended Posts

Caros amigos

 

saudações...

 

Sou um pouco novato em JAVASCRIPT, gostaria de tirar uma dúvida com os amigos.

 

Tenho uma Tabela onde o usuário escolhe o Produto e através de um botão agregar, o sistema cria a Tabela. ATÉ AQUI TUDO BEM.

 

Minha dúvida:

como consigo verificar se o Código de algum produto já foi incluído ?

caso foi, o sistema avisa que já foi informado o código anteriormente.

 

Código em Javascript

          //Status dos Botões LIMPAR | AGREGAR | ADICIONAR - iniciar como desabilitado.
          document.getElementById("btn-limp").disabled = true;
          document.getElementById("btn-agregar").disabled = true;             
          document.getElementById("adicionar").disabled = true;


          /*---Função para Capturar o Produto selecionado---*/
          $(document).on("click",".btn-prod",function(){
              prd = $(this).val();
              infoprd = prd.split("*");
              $("#idProdutos").val(infoprd[0]);
              $("#cod_interno").val(infoprd[1]);
              $("#descricao").val(infoprd[2]);
              $("#prd_unid").val(infoprd[3]);                              
              $("#vlr_unit").val(infoprd[4]);      
              $("#qtd_prod").val(infoprd[5]);      
              $("#vlr_total").val(infoprd[6]);      
              $("#modal_prod").modal("hide");

              //Função para Atualizar o Status do Botão
              statusLimparAgregar()              
          });
 
//Nessa parte do AGREGAR gostaria de veririfcar
//se houve ou não duplicidade de código do produto
//informado

           $("#btn-agregar").on("click",function(){                   
            //Monta a Tabela dos Produtos a serem Devolvidos
            html = "<tr>";
              html += "<td width='10%' height='10'><input type='hidden' name='id_prds[]' value='"+infoprd[0]+"'>"+infoprd[1]+"</td>";
              html += "<td width='32%' height='10'><input type='hidden' name='descricao[]' value='"+infoprd[2]+"'>"+infoprd[2]+"</td>";
              html += "<td width='10%' height='10' style='text-align:center;'><input type='hidden' name='esp[]' value='"+infoprd[3]+"'>"+infoprd[3]+"</td>";
              html += "<td width='12%' height='10' style='text-align:center;'><input type='hidden' name='qtd_prod[]' value='"+infoprd[5]+"'>"+infoprd[5]+"</td>";
              html += "<td width='14%' height='10' style='text-align:right;'><input type='hidden' name='vlr_unit[]' value='"+infoprd[4]+"'>"+infoprd[4]+"</td>";              
              html += "<td width='14%' height='10' style='text-align:right;'><input type='hidden' name='vlr_total[]' value='"+infoprd[6]+"'>"+infoprd[6]+"</td>";     
              html += "<td width='10%' height='10' style='text-align:center;'>"+
                        "<button type='button' class='btn btn-danger btn-remove-produto' style='padding: 2px 5px;' title='Remover Item da Lista'>"+
                        "<span class='fa fa-remove'></span></button></td>";
            html += "</tr>";

            $("#tbventas tbody").append(html);

            //Função para Somar os Itens do Lançamento
            somar();    
            

            $("#btn-agregar").val(null);
            $("#descricao").val(null);
            $("#cod_interno").val(null);    
            $("#prd_unid").val(null);                
            $("#vlr_unit").val(null);                     
            $("#qtd_prod").val(null);     
            $("#vlr_total").val(null);  

            //Desabilita Buttons
            document.getElementById("btn-limp").disabled = true;                                     
            document.getElementById("btn-agregar").disabled = true;    

          });          

 

Grato,

 

Cesar

Share this post


Link to post
Share on other sites

Verifique os existentes, igual você tem a função que soma todos os valores, verifique também se existem códigos iguais, e caso exista, não adiciona.

Share this post


Link to post
Share on other sites

Caro amigo quimera

 

saudações...

 

É justamente nessa parte que não estou conseguindo fazer.

 

Abaixo posto o código fonte completo da VIEW que estou trabalhando.

 

Se puder me ajudar, agradeço grandemente.

  <!-- DataTables -->
  <link rel="stylesheet" href="<?php echo base_url();?>templates/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">  

  <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
 
  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header">
      <h1>
        Adicionar
      </h1>
      <ol class="breadcrumb">
        <li><a href="<?php echo base_url()?>contas/"><i class="fa fa-dashboard"></i> Home</a></li>
        <li class="active">Lançamento</li>
      </ol>
    </section>


    <section class="content">
        
      <!-- Mensagem de Sucesso / Erro -->
      <?php $this->load->view('vitrine/acao'); ?>

      <div class="row">
        <!-- left column -->
        <div class="col-md-12">
          <!-- general form elements -->
          <div class="box box-primary">
            <div class="box-header with-border">
              <h3 class="box-title">Devolução do Lançamento nº.&nbsp;
                <strong><?php echo $result->num_lcto; ?></strong>
              </h3>
            </div>
            <!-- /.box-header -->
      
            <?php if ($custom_error != '') {
                echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' . $custom_error . '</div>';
            } ?> 
      
            <!-- form start -->
            <form action="<?php echo current_url(); ?>" id="frmDevolve" method="post" role="form" >
              <?php echo form_hidden('idlcto', $result->idlcto) ?>
              
              <div class="box-body">

                <div class="col-lg-2">
                    <label for="dtaentr">Data Devolução&nbsp;<span class="required">*</span></label>
                    <input type="date" id="dtaentr" name="dtaentr" class="form-control" 
                       style="width:105%;" value="" />
                </div>

                <div class="col-lg-2">
                    <label for="num_nf">Nota Fiscal</label>
                    <input id="num_nf" type="text" name="num_nf" class="form-control"
                           style="width:100%; font-size:15px; font-weight:bold;"
                           value="<?php echo $result->num_nf; ?>" disabled />
                </div>                       

                <div class="col-lg-8">
                    <label for="nome_for">Razão Social</label>
                    <input id="nome_for" type="text" name="nome_for" class="form-control"
                           style="width:100%; font-size:15px; font-weight:bold;"
                           value="<?php echo $result->nome_for; ?>" disabled />
                </div>
                <div class="clearfix"></div>    
                <br/>  

                <div class="col-lg-12">
                  <label for="obs_lcto">Observação<span class="required">&nbsp;*</span></label>
                  &nbsp;&nbsp;<small class="caracterObs" style="font-size:14px;"></small>
                  <textarea id="obs_lcto" name="obs_lcto" cols="5" rows="1" class="form-control" 
                            style="width:100%; resize: none;" maxlength="150" 
                            placeholder="Informe uma Observação para realizar a Devolução."></textarea>
                </div>                          
                <div class="clearfix"></div>    
                <br/>  

                <div class="col-lg-10">
                    <label for="idProdutos">Produto:</label>
                    <div class="input-group">
                    <input type="hidden" name="idProdutos" id="idProdutos">
                    <input type="text" class="form-control" id="descricao" name="descricao" 
                           style="font-size:15px; font-weight:bold;" 
                           placeholder="Pesquisar por descrição do produto" disabled> 
                        <span class="input-group-btn">
                            <button class="btn btn-warning" type="button" data-toggle="modal" 
                                    data-target="#modal_prod" ><span class="fa fa-search"></span> Pesquisar
                            </button>
                        </span>
                    </div>
                </div> 

                <div class="col-lg-2"> 
                  <label for="">&nbsp;</label>
                  <input type="button" id="btn-limp" style="width:100%;" class="btn btn-danger" value="Limpar" 
                         onClick="limpa()">                                      
                </div>  


                <div class="clearfix"></div>    
                          
                <div class="col-lg-2">
                  <label for="">Código </label>
                  <input type="text" class="form-control" id="cod_interno" name="cod_interno" disabled
                         style="font-size:15px; font-weight:bold; width:100%;" > 
                </div>    

                <div class="col-lg-2">
                  <label for="">Espécie </label>
                  <input type="text" class="form-control" id="prd_unid" name="prd_unid" disabled
                         style="font-size:15px; font-weight:bold; width:100%;" > 
                </div>             
    

                <div class="col-lg-2">
                  <label for="">Valor Unitário </label>
                  <input type="text" class="form-control" id="vlr_unit" name="vlr_unit" disabled
                         style="font-size:15px; font-weight:bold; width:100%;" > 
                </div>                                    

                <div class="col-lg-2">
                  <label for="">Qtde p/ Devolver </label>
                  <input type="text" class="form-control" id="qtd_prod" name="qtd_prod" 
                         style="font-size:15px; font-weight:bold; width:100%;" 
                         placeholder="0" disabled > 
                </div>     


                <div class="col-lg-2">
                  <label for="">Valor Total </label>
                  <input type="text" class="form-control" id="vlr_total" name="vlr_total" 
                         style="font-size:15px; font-weight:bold; width:100%; text-align:right;" 
                         placeholder="0,00" disabled /> 
                </div> 

                 <div class="col-lg-2">
                    <label for="">&nbsp;</label>
                    <button id="btn-agregar" type="button" class="btn btn-success btn-flat btn-block">
                      <span class="fa fa-plus"></span> Agregar
                    </button>
                </div>                               

                <div class="clearfix"></div> 
                <br/>

                <div class="col-lg-12">
                  <!-- Monta uma Menu Fixo da Tabela -->
                  <div class="row invoice-info" style="background:#A6CFCF; height:35px; line-height:32px;">
                    <div class="col-sm-1 invoice-col" style="text-align:center; width:10%;">
                      <label style="font-size: 15px;">Código</label>
                    </div>
                    <div class="col-sm-5 invoice-col" style="text-align:center; width:32%;">
                      <label style="font-size: 15px;">Descrição Produto</label>
                    </div>
                    <div class="col-sm-1 invoice-col" style="text-align:center; width:10%;">
                      <label style="font-size: 15px;">ESP</label>
                    </div> 
                    <div class="col-sm-1 invoice-col" style="text-align:center; width:12%;">
                      <label style="font-size: 15px;">QTDE</label>
                    </div>                
                    <div class="col-sm-1 invoice-col" style="text-align:center; width:14%;">
                      <label style="font-size: 15px;">Vr Unit</label>
                    </div> 
                    <div class="col-sm-1 invoice-col" style="text-align:center; width:14%;">
                      <label style="font-size: 15px;">Vr Total</label>
                    </div>                                           
                    <div class="col-sm-1 invoice-col" style="text-align:center; width:8%;">
                      <label style="font-size: 15px;">Ação</label>
                    </div>                  
                  </div>
                </div><!-- Fim DIV Menu Tabela --> 

                <div style="overflow:auto; width:100%; height:226px; border:solid 1px #CBE2E2;"> 
                  <table id="tbventas" class="table table-bordered table-striped table-hover">   
                    <tbody>
                                 
                    </tbody>
                  </table> 
                </div>

                <div class="clearfix"></div> 
                <br/>

                <div class="col-md-3">
                  <div class="input-group">
                    <span class="input-group-addon">Subtotal:</span>
                    <input type="text" class="form-control" placeholder="0,00" id="subtotal" name="subtotal"
                           style="font-size:15px; font-weight:bold; width:100%; text-align:right;" readonly>
                  </div>
                </div>                                       


              </div><!-- /.box-body -->

              <div class="box-footer" style="text-align:center;">
                <input type="hidden" id="idNot" name="idNot" value="<?php echo $result->num_nf; ?>" />
                <input type="hidden" id="idFor" name="idFor" value="<?php echo $result->fornecedor_idfornecedor; ?>" />
                <input type="hidden" id="idCli" name="idCli" value="<?php echo $cliente->idClientes; ?>" />
                <a href="<?php echo base_url() ?>contas/devolucao" id="" class="btn btn-danger"><i class="fa fa-undo"></i> Voltar</a>
                &nbsp;&nbsp;
                <button type="submit" id="adicionar" class="btn btn-primary" >Adicionar</button>
              </div>

            </form>
          
          </div><!-- /.box -->

        </div>

      </div>

    </section>

</div>



<div class="modal fade" id="modal_prod">
  <div class="modal-dialog" style="width:80%;">
    <div class="modal-content">

      <div class="modal-header" style="font-size:18px; color:#ffffff; background:#307192;">
         <h4 class="modal-title"><strong>Lista do(s) Produto(s) Lançado(s)</strong></h4>
      </div>

      <div class="modal-body">
        <table id="tab_prod" class="table table-bordered table-hover">
          <thead>
            <tr>
              <th style="text-align:center;">Cód. Interno</th>
              <th style="text-align:center;">Descrição</th>
              <th style="text-align:center;">ESP</th>
              <th style="text-align:center;">QTDE</th>
              <th style="text-align:center;">Ação</th>
            </tr>
          </thead>
          <tbody>
          
          <?php foreach ($lanca as $lnc) {
            //Variável criada para carregar informação dos Dados para o Botão
            $datalnc = $lnc->idProdutos."*".$lnc->cod_interno."*".$lnc->descricao."*".$lnc->prd_unid."*".$lnc->vlr_unit."*".$lnc->qtd_prod."*".$lnc->vlr_total;                   
            echo '<tr>';
              echo '<td width="20" height="10" style="text-align:center;">'.$lnc->cod_interno.'</td>';
              echo '<td width="250" height="10" style="text-align:left;">'.$lnc->descricao.'</td>';
              echo '<td width="20" height="10" style="text-align:center;">'.$lnc->prd_unid.'</td>';
              echo '<td width="20" height="10" style="text-align:center;">'.$lnc->qtd_prod.'</td>'; 

              //Verifica se existe quantidade suficiente para devolver.            
              if($lnc->estoque_atual < $lnc->qtd_prod){
                echo '<td width="20" style="text-align:center;">            
                        <button type="button" class="btn btn-cinza btn-prod" 
                          style="margin-right: 2%; padding: 5px 7px;" title="Quantidade Insuficiente para Devolver" disabled >
                          <span class="fa fa-check"></span>
                        </button></td>';
              } else {
                echo '<td width="20" style="text-align:center;">            
                        <button type="button" class="btn btn-success btn-prod" 
                          style="margin-right: 2%; padding: 5px 7px;" title="Selecionar Produto"
                          value="'. $datalnc.'" >
                          <span class="fa fa-check"></span>
                        </button></td>';
              }
              
            echo '</tr>';
                  
            }//Fim do Foreach  ?>
          
          </tbody>
        </table>
      </div>

      <div class="modal-footer" style="text-align:center; background:#BBAAAA;">
        <button type="button" class="btn btn-danger pull-center" data-dismiss="modal">Voltar</button>
      </div>

    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div>



<?php $this->load->view('vitrine/footer'); ?>


<script src="<?php echo base_url();?>templates/bower_components/datatables.net/js/jquery.dataTables.js"></script>
<script src="<?php echo base_url();?>templates/bower_components/datatables.net-bs/js/dataTables.bootstrap.js"></script>
<script>
  //Tabela Produtos
  $(function () {
    $('#tab_prod').DataTable({
      'paging'      : true,
      'lengthChange': false,
      'searching'   : true,
      'ordering'    : true,
      'info'        : true,
      'autoWidth'   : false
    })
  })
</script>

<script src="<?php echo base_url()?>templates/dist/js/jquery.validate.js"></script>
<script type="text/javascript">
      $(document).ready(function(){
          $('#frmDevolve').validate({
              rules :{
                    dtaentr:{ required: true},
                    num_nf:{ required: true},
                    obs_lcto:{ required: true}
              },
              messages:{
                    dtaentr:{ required: '<span style="color:#ff0000;">Campo Requerido</span>'},
                    num_nf:{ required: '<span style="color:#ff0000;">Campo Requerido</span>'},
                    obs_lcto:{ required: '<span style="color:#ff0000;">Campo Requerido</span>'}
              },
              
              errorClass: "help-inline",
              errorElement: "span",
              highlight:function(element, errorClass, validClass) {
                  $(element).parents('.form-group').addClass('error');
              },
              unhighlight: function(element, errorClass, validClass) {
                  $(element).parents('.form-group').removeClass('error');
                  $(element).parents('.form-group').addClass('success');
              } 
          });
       

          /*Número de caracteres permitido*/
          $(document).on("input", "#obs_lcto", function() {
              var limite = 151;
              var informativo = " 150 caracteres.";
              var caracteresDigitados = $(this).val().length;
              var caracteresRestantes = limite - caracteresDigitados;

              if (caracteresRestantes <= 0) {
                  var categObs = $("textarea[name=categObs]").val();
                  $("textarea[name=categObs]").val(categObs.substr(0, limite));
                  $(".caracterObs").text("- Máximo permitido de " + informativo);
              } else {
                  $(".caracterObs").text("- Digitou " + caracteresDigitados + " de " + informativo);
              }
          });

          //Status dos Botões LIMPAR | AGREGAR | ADICIONAR - iniciar como desabilitado.
          document.getElementById("btn-limp").disabled = true;
          document.getElementById("btn-agregar").disabled = true;             
          document.getElementById("adicionar").disabled = true;


          /*---Função para Capturar o Produto selecionado---*/
          $(document).on("click",".btn-prod",function(){
              prd = $(this).val();
              infoprd = prd.split("*");
              $("#idProdutos").val(infoprd[0]);
              $("#cod_interno").val(infoprd[1]);
              $("#descricao").val(infoprd[2]);
              $("#prd_unid").val(infoprd[3]);                              
              $("#vlr_unit").val(infoprd[4]);      
              $("#qtd_prod").val(infoprd[5]);      
              $("#vlr_total").val(infoprd[6]);      
              $("#modal_prod").modal("hide");

              //Função para Atualizar o Status do Botão
              statusLimparAgregar()              
          });
 
 
          $("#btn-agregar").on("click",function(){              
            //Monta a Tabela dos Produtos a serem Devolvidos
            html = "<tr>";
              html += "<td width='10%' height='10'><input type='hidden' name='id_prds[]' value='"+infoprd[0]+"'>"+infoprd[1]+"</td>";
              html += "<td width='32%' height='10'><input type='hidden' name='descricao[]' value='"+infoprd[2]+"'>"+infoprd[2]+"</td>";
              html += "<td width='10%' height='10' style='text-align:center;'><input type='hidden' name='esp[]' value='"+infoprd[3]+"'>"+infoprd[3]+"</td>";
              html += "<td width='12%' height='10' style='text-align:center;'><input type='hidden' name='qtd_prod[]' value='"+infoprd[5]+"'>"+infoprd[5]+"</td>";
              html += "<td width='14%' height='10' style='text-align:right;'><input type='hidden' name='vlr_unit[]' value='"+infoprd[4]+"'>"+infoprd[4]+"</td>";              
              html += "<td width='14%' height='10' style='text-align:right;'><input type='hidden' name='vlr_total[]' value='"+infoprd[6]+"'>"+infoprd[6]+"</td>";     
              html += "<td width='10%' height='10' style='text-align:center;'>"+
                        "<button type='button' class='btn btn-danger btn-remove-produto' style='padding: 2px 5px;' title='Remover Item da Lista'>"+
                        "<span class='fa fa-remove'></span></button></td>";
            html += "</tr>";

            $("#tbventas tbody").append(html);

            //Função para Somar os Itens do Lançamento
            somar();    

            $("#btn-agregar").val(null);
            $("#idProdutos").val(null);
            $("#descricao").val(null);
            $("#cod_interno").val(null);    
            $("#prd_unid").val(null);                
            $("#vlr_unit").val(null);                     
            $("#qtd_prod").val(null);     
            $("#vlr_total").val(null);  

            //Desabilita Buttons
            document.getElementById("btn-limp").disabled = true;                                     
            document.getElementById("btn-agregar").disabled = true;    

          });          

      });     


      function limpa() {
          //Limpa Inputs
          if(document.getElementById('idProdutos').value!="") {
            document.getElementById('descricao').value="";
            document.getElementById('cod_interno').value="";
            document.getElementById('prd_unid').value="";
            document.getElementById('vlr_unit').value="";            
            document.getElementById('qtd_prod').value="";
            document.getElementById('vlr_total').value="";      
            //Desabilita Buttons
            document.getElementById("btn-limp").disabled = true;                                     
            document.getElementById("btn-agregar").disabled = true;            
        }
      }


      /* Remover ITEM da Lista de Produtos */
      $(document).on("click",".btn-remove-produto", function(){
        $(this).closest("tr").remove();   

        //Função para Somar os Itens do Lançamento
        somar();  

        //Função para Atualizar o Status do Botão  
        statusButton();
      });  


      function somar(){
          subtotal = 0;
          $("#tbventas tbody tr").each(function(){
            subtotal = subtotal + parseFloat($(this).find("td:eq(5)").text());
          });

          //Preenche o INPUT do subtotal
          $("input[name=subtotal]").val(subtotal.toFixed(2));     
          
          //Função para Atualizar o Status do Botão 
          statusButton();
      }   


      function statusLimparAgregar(){
          //valida conteudo do input 
          if ($("input[name=idProdutos]").val() != "" ) {
              //habilita o botão           
              document.getElementById("btn-limp").disabled = false;
              document.getElementById("btn-agregar").disabled = false;              
          } else {
             //desabilita o botão se o conteúdo do input ficar em branco
             document.getElementById("btn-limp").disabled = true;                                     
             document.getElementById("btn-agregar").disabled = true;
          }        
      }  


      function statusButton(){
          //valida conteudo do input 
          if ($("input[name=subtotal]").val() != "" && $("input[name=subtotal]").val() != 0) {
              //habilita o botão
              document.getElementById("adicionar").disabled = false;
          } else {
             //desabilita o botão se o conteúdo do input ficar em branco
             document.getElementById("adicionar").disabled = true;
          }        
      } 


    /* Permite digitar apenas Números.: 1234567890 */
     document.getElementById("num_nf").onkeypress = function(e) {
     var chr = String.fromCharCode(e.which);
     if ("1234567890".indexOf(chr)<0)
     return false;
     };   


    /* Permite digitar apenas Números.: 1234567890 */
     document.getElementById("qtde").onkeypress = function(e) {
     var chr = String.fromCharCode(e.which);
     if ("1234567890".indexOf(chr)<0)
     return false;
     };          
 


</script>

 

 

Obrigado,

 

Cesar

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 mamotinho
      Olá, estou com problemas, minha data está atualizando porém eu clico em um produto ele exibe o tempo sem atualizar . quando eu mudo de produto ele mostra os dois valores exemplo
      Produto 1: tem duraçao de: 1 dia e 13:023 PM
      Produto 2: tem duraçao de: 0 dia e 23:023 PM

      Quando eu clico no produto 1 ele exibe normalmente, porém quando mudo para o produto 2 ele fica atualizando o valor do dia do produto 1 e do produto 2 sempre mudando.
      segue abaixo como está o codigo

      JavaSCRIPT
       
      function anooo(mes,dia,h,m){ var mess = mes; var dias = dia; var hss = h; var mss = m; // Set the date we're counting down to var countDownDate = new Date(""+mess+" "+dias+", 2020 "+hss+":"+mss+":00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var dayss = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = dayss; document.getElementById("hrs").innerHTML = hours; document.getElementById("minus").innerHTML = minutes; document.getElementById("secs").innerHTML = seconds; this.remove(countDownDate); // If the count down is over, write some text if (distance < 0) { clearInterval(x); } }, 1000); } AQUI É O CHAMADO:
       
      <? if($result->Discount>=1){ $Month = date('M', strtotime($result->DateDiscount)); $Days = date('d', strtotime($result->DateDiscount)); $Hours = date('H', strtotime($result->DateDiscount)); $Minutes = date('i', strtotime($result->DateDiscount)); echo "<script>anooo('".$Month."','".$Days."','".$Hours."','".$Minutes."')</script>"; //echo "<script>alert('".$Month."')</script>"; ?> <ul class="time_sell remain_time"> <li> <dl> <dt class="blind">남은시간</dt> <dd> <span class='n_date day' id='days'></span> <span class='date'>일</span> <span class='n_time hour' id='hrs'></span> <span class='n_time minute' id='minus'></span> <span class='n_time second' id='secs'></span> <div id="countdown"></div> </dd> </dl> </li> </ul> <? } ?> eu já tentei de tudo mais sempre que mudo de produto ele exibe a data dos produtos anteriores em loop. a cada atualização do setInterval
    • By WagnerFilho
      Olá,
      Eu escrevi um exemplo de trabalho de um problema real que estou tentando resolver
      Criei um objeto simulando o retorno json que recebo do banco de dados.
       
      Eu preciso:
      Listar contratos e lotes de contratos Ao entrar na função, marcar o último `lote` do `contrato` como selecionado no Dropdown List Ao entrar na função, exibir as faturas `lote` e `contrato` selecionado no elemento `ul-invoices` Carregar e exibir as respectivas `faturas` ao alterar o `lote`  
      Problemas:
      Não consigo listar as `faturas` do último `lote` do `contrato selecionado` ao carregar a função. Não consigo listar as `faturas` ao `alterar` o `lote` do `contrato`  
      Observação:
      Ao entrar na página, já tenho as informações do contrato selecionado; no caso do exemplo, deixei o contrato com o ID 1. No exemplo estou usando a classe `in-attendance` para definir o contrato selecionado Estou usando `Revealing Pattern` e quero manter este padrão  
      Tradução
      contracts = contratos batches = lotes invoices = faturas  
      Exemplo
      <html> <label id="contracts"></label> <ul id="ul-invoices"></ul> <pre></pre> <script> let lblContract = document.querySelector('#contracts'); let UlInvoices = document.querySelector('#ul-invoices'); let contractInAttendance = 1; const objectContract = { id: 1, nome: 'wagner', contracts: [{ id: 1, contract: '123456', batches: [ { id: 1, contract_id: 1, batch: '1', invoices: [ { value: 10, batch_id: 1, }] }, { id: 2, contract_id: 1, batch: '2', invoices: [{ value: 10, batch_id: 2, }] }] }, { id: 2, contract: '246789', batches: [ { id: 3, contract_id: 2, batch: '1', invoices: [ { value: 20, batch_id: 3, }] }] }] } const revelling = (function() { function privateInit() { const contracts = objectContract.contracts; let contractFilteredById = contracts.filter(contract => contract.id === contractInAttendance); for (const contract of contracts) { const selectedContract = contract.id === contractFilteredById[0].id ? 'in-attendance' : ''; let htmlForBatchsOptions = contract.batches.map(batch => `<option value=${batch.id}>${batch.batch}</option>`).join(''); lblContract.innerHTML += `<div class="contract-${selectedContract}" style="display: flex;"> <div id="contract-${contract.contract}" data-contract="${contract.id}" class="loren"> <span>${contract.contract}</span> </div> <div class="ipsulum" style="margin-left: 5px;"> <select class="sel-batch"> ${htmlForBatchsOptions} </select> </div> </div>`; const batchOption = lblContract.querySelector('select.sel-batch'); batchOption.addEventListener('change', getInvoices); //batchOption.value = 2; } } function getInvoices() { const batchValue = event.target.value console.log(batchValue); //console.log(this.value); } return { init: privateInit() } })(); revelling.init; </script> </html>  
    • By mamotinho
      Olá, gostaria de sabe como posso fazer uma contagem regressiva apartir de um registro em meu banco de dados eu tentei montar um código da seguinte forma:

       
      <? $DateGET = date('m/d/Y H:i A', strtotime($result->DateDiscount)); ?> <script> var valueDate = <?=$DateGET?>; var end = new Date(valueDate); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById("countdown").innerHTML = "EXPIRED!"; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById("countdown").innerHTML = "<span class='n_date day' id='days'>" + days + "</span><span class='date'>일</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time hour' id='hrs'>" + hours + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time minute' id='minus'>" + minutes + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time second' id='secs'>" + seconds + "</span>"; } timer = setInterval(showRemaining, 1000); </script> Mais infelizmente não passou a data registrada no banco de dados, alguém teria ideia de como posso ta fazendo.
    • By everton_araujo
      Boa noite pessoal, tudo bem?
      Gostaria de saber como mudo a propriedade target="_blank"
       para target="_system" via javascript. Muito obrigado.
       
      <a href="https://bemdiario.com/wp-content/uploads/2020/06/água-da-rocha.pdf" target="_blank" rel="noopener noreferrer nofollow" download="" class="jsx-936791898 eape-item-linkWrapper"><div class="jsx-936791898 eape-item-link">Baixar PDF</div></a>
    • By lumbarque_Oficial
      Tô a procura de uma equipe para participar 
       
      Sou programador, spriter ou músico
       
      meu nome é Gabriel , tenho 18 anos e já participei de uns grupo pequenos
       
      Sei de tudo um pouco mas a área que eu tô mais querendo botar a mão na massa atualmente é programação
       
      ~ alguém? ~
×

Important Information

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