Jump to content

abraaoz

Members
  • Content count

    26
  • Joined

  • Last visited

Community Reputation

0 Comum

About abraaoz

Contato

  1. abraaoz

    Criação de um Filtro Inteligente

    -
  2. abraaoz

    Criação de um Filtro Inteligente

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> var Filtro = function(id, container, opcoes) { // Retorna a quantidade de níveis disponíveis this.getNiveis = function() { return $('.'+id, container).length; } // Obtém um array contendo somente os valores selecionados this.val = function() { var value = []; for(var i = 1; i <= this.getNiveis(); i++) { value.push($('#'+id+i).val()); } return value; }; // private (não chamar fora do objeto) this.getOpcoes = function() { var items = opcoes; for(var i = 0; i < arguments.length; i++) { if(typeof items[arguments[i]] != 'undefined') { items = items[arguments[i]]; } } var _opcoes = []; $.each(items, function(item) { _opcoes.push(item); }); return _opcoes; }; // private (não chamar fora do objeto) this.getProximosFiltros = function(nivel) { return $('.'+id+':has(#'+id+nivel+')', container).nextAll('.'+id); }; // private (não chamar fora do objeto) this.criarFiltro = function(nivel) { // Remove filtros posteriores var self = this; self.getProximosFiltros(nivel).andSelf().remove(); // Cria o filtro em branco $('<div class="'+id+'"><label for="'+id+nivel+'">Filtro '+nivel+'</label><select id="'+id+nivel+'"><option></option></select></div>').appendTo(container); var $select = $('#'+id+nivel).on('change', function() { if($(this).val() == '') { self.getProximosFiltros(nivel).remove(); } else { self.criarFiltro(nivel + 1); } }); // Determina as opções do filtro novo var items = self.getOpcoes.apply(self.getOpcoes, self.val()); // Adiciona as opções ao filtro novo // ou o remove, caso esteja vazio if(items.length > 0) { $.each(items, function() { $select.append('<option>'+this+'</option>'); }); } else { $select.closest('.'+id).remove(); } }; this.criarFiltro(1); }; $(function() { document.instancia1 = new Filtro('instancia1', 'body', { "Carros": { "Volks": true, "Fiat": { "Linea": true, "Uno": true } }, "Roupas": { "Camisetas": { "Manga longa": { "Branca": true, "Preta": true }, "Manga curta": { "Cinza": true } } } }); }); </script> <button type="button" onclick="alert(document.instancia1.val().join(' > '));">Ver valores selecionados</button> <button type="button" onclick="alert(document.instancia1.getNiveis());">Ver quantidade de níveis</button>
  3. abraaoz

    Colocar Link na linha (TD)

    Boa noite Anderson, Para tornar uma td clicável é necessário utilizar JavaScript. A solução é relativamente simples: <tr> <td onclick="window.location='cargo_alterar.php?cod=$Cod'">$Nome</td> </tr> Caso você esteja usando PHP para gerar esse código, tome cuidado com as aspas, pois será necessário inserir caractere de escape: <?php $Cod = 123; $Nome = "Anderson Silva"; echo("<tr><td onclick=\"window.location='cargo_alterar.php?cod=$Cod'\">$Nome</td></tr>");
  4. abraaoz

    Liberação de campo mediante senha

    Qualquer programador do fórum consegue lhe ajudar. Mas primeiro você precisa SE ajudar. Poste o código-fonte da tal tela, por favor.
  5. abraaoz

    [Resolvido] Somar todos os campos texto

    <script> function somar(idForm, idResultado) { var form = document.getElementById(idForm); var inputs = form.querySelectorAll('input[type="text"]'); var total = 0; for(var i = 0; i < inputs.length; i++) { if(inputs[i].value.length > 0) { // ignora campos em branco total += parseInt(inputs[i].value); // converte o valor do campo em número inteiro e soma } } document.getElementById(idResultado).innerHTML = total; } </script> <form id="form1"> <input type="text"><br> <input type="text"><br> <input type="text"><br> <input type="text"><br> Total: <span id="total">0</span><br> <button type="button" onclick="somar('form1', 'total');">Somar</button> </form>
  6. Você não especificou onde deseja acrescentar a classe, então entendo que será no próprio elemento. Fica assim: $("#input-address-1").on("change", function() { if($(this).val() == "") { $(this).removeClass("sem-bordas").addClass("form-control"); } else { $(this).removeClass("form-control").addClass("sem-bordas"); } });
  7. abraaoz

    select - carregar item

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript"> $(function() { var opcoes = [ {"categoria": {"id": "", "nome": ""}, "opcoes": []}, {"categoria": {"id": 1, "nome": "carro"}, "opcoes": ["gol", "palio"]}, {"categoria": {"id": 2, "nome": "roupa"}, "opcoes": ["camisa", "calça"]} ]; $.each(opcoes, function() { $('#ao_selecionar').append('<option value="'+this.categoria.id+'">'+this.categoria.nome+'</option>'); }); $("#ao_selecionar").on("change", function() { $("#select_b").html(''); var id_categoria = $(this).val(); $.each(opcoes, function() { if(this.categoria.id == id_categoria) { $.each(this.opcoes, function() { $("#select_b").append('<option>'+this+'</option>'); }); return false; // encerra o $.each } }); }); }); </script> <form action="executou.php" method="post" name="form1" id="form1"> <label for="ao_selecionar">Select A</label> <select name="hhh" id="ao_selecionar" required></select> <br>-----------------------------------------------------<br> <label for="select_b">Select B</label> <select name="yyy" id="select_b"></select> <button type="submit">enviar</button> </form>
  8. abraaoz

    pupular select

    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>
  9. abraaoz

    Foreach

    :)
  10. abraaoz

    Como pegar o id de um option e re-utilizar com variável php

    Boa tarde, Dentro da tag tbody, você precisa apenas escrever um foreach para cada produto que estiver na sessão, assim: <?php @session_start(); $codigosEQuantidades = empty($_SESSION['codigosEQuantidades']) ? [] : $_SESSION['codigosEQuantidades']; foreach($codigosEQuantidades as $codProduto => $quantidade) { $ler = new Read(); $ler->ExeRead('produtos', "WHERE Codigo = {$codProduto}"); $resultados = $ler->getResult(); foreach($resultados as $resultado) { echo <<<HTML <tr> <td>{$resultado['Codigo']}<td> <td>{$resultado['Designacao']}</td> <td>{$resultado['Preco']</td> <td>{$quantidade}</td> <td>{$quantidade * $resultado['Preco']}</td> <td></td> </tr> HTML; } } ?> Daí você cria um arquivo chamado adicionar.php contendo: <?php if(!empty($_GET['codigo'])) { // Inicia a sessão @session_start(); // Obtém os produtos que já estão no carrinho $codigosEQuantidades = empty($_SESSION['codigosEQuantidades']) ? [] : $_SESSION['codigosEQuantidades']; // Adiciona 1 à quantidade atual do produto if(empty($codigosEQuantidades[$_GET['codigo']])) { $codigosEQuantidades[$_GET['codigo']] = 0; } $codigosEQuantidades[$_GET['codigo']]++; // Atualiza a sessão $_SESSION['codigosEQuantidades'] = $codigosEQuantidades; } // Retorna à tela anterior header("Location: carrinho.php"); E para adicionar ao carrinho ("adicionar item na fatura"), é só fazer um link para adicionar.php?codigo=CODIGO_DO_PRODUTO_AQUI. Como você não disponibilizou o código-fonte do tal "SELECT DE PRODUTOS", não foi possível escrever essa parte da solução. Mas se o select fosse assim: <select id="produto"> <option value="PROD123">Produto 123</option> <option value="PROD456">Produto 456</option> </select> O botão seria assim: <button type="submit" class="btn btn-primary" name="addItem" onclick="var produto = document.getElementById('produto'); var codigo = produto.options[produto.selectedIndex]; window.location = 'adicionar.php?codigo='+codigo;" value="Contar Linhas" id="addRow"> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Adicionar Item na Fatura </button> Segue o mesmo código que você enviou, porém INDENTADO e com as soluções propostas: <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> <div class="block"> <!-- Example Title --> <div class="block push-bit"> <form action="" method="post" id="form-fatura" class="form-horizontal form-bordered form-control-borderless"> <aside id="conteudoPrincipal"> <div class="form-group" id="dadosCliente"> <div class="col-xs-12"> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-user"></i></span> <input type="text" id="nomeClienteExterno" name="nomeClienteExterno" class="form-control input-lg input" placeholder="Nome do cliente (externo)"> </div> </div> <div class="col-xs-12"> <div class="input-group"> <label> <div style="width: 510px;" class="input-group" title="" data-toggle="tooltip"> <span class="input-group-addon"><strong>Cliente (cadastrado): </strong> <i class="gi"></i></span> <label></label> <select id="login-sucursal" name="login-nomeUtilizador" class="select-chosen form-control input-lg"> <?php include_once 'factory/app/config.inc.php'; $ler = new Read; $ler->ExeRead('cliente'); $resultados = $ler->getResult(); $i = 0; foreach ($resultados as $result): $i++; extract($result); echo "<option>$Nome</option>"; endforeach; ?> </select> </div> </label> </div> </div> </div> <div class="DetalhesProduto" id="DetalhesProduto"> <?php $read = new Read(); $read->ExeRead('produtos','order by Designacao asc'); $resultados = $read->getResult(); $i = 0; foreach ($resultados as $result): $i++; extract($result); endforeach; ?> <div id="DetHead" class=""> <h4>DETALHES DO PRODUTO</h4> </div> <div class=""> <div class=""> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-usd"></i></span> <div>Preço: <?=$Preco;?> </div> </div> </div> </div> <?php $read = new Read(); $read->ExeRead('categorias','where Codigo='.$CodigoCategoria); $resultados = $read->getResult(); $i = 0; foreach ($resultados as $result): $i++; extract($result); endforeach; ?> <div class=""> <div class=""> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-sampler"></i></span> <div>Categoria: <?=$Designacao;?></div> </div> </div> </div> <div class=""> <div class=""> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-sort-by-attributes-alt"></i></span> <div>Quantidade em Stock: <?=$Preco;?></div> </div> </div> </div> <?php $read = new Read(); $read->ExeRead('fabricantes','where Codigo='.$CodigoFabricante); $resultados = $read->getResult(); $i = 0; foreach ($resultados as $result): $i++; extract($result); endforeach; ?> <div class=""> <div class=""> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-fabric"></i></span> <div>Fabricante: <?=$Designacao;?></div> </div> </div> </div> <div class=""> <div class=""> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-calendar"></i></span> <div>Data de Validade: <?=$DataExpiracao;?></div> </div> </div> </div> </div> <div class="form-group" id="dadosCliente"> <div style="width: 585px;" class="col-xs-12"> <div class="input-group"> <span class="input-group-addon"><i class="gi gi-search"></i></span> <span class="input-group-addon"><i class="gi gi-barcode"></i></span> <input type="text" id="inputCoddigoBarra" name="inputCoddigoBarra" class="form-control input-lg input" placeholder="código de barra"> <span class="input-group-addon"><i class=""></i></span> </div> </div> <div class="col-xs-12"> <div class="input-group"> <label> <div style="width: 510px;" class="input-group" title="">select-chosen form-control input-lg" > <?php $ler = new Read(); $ler->ExeRead('Produtos','order by Designacao'); $resultados = $ler->getResult(); //$i = 0; foreach ($resultados as $result): $i++; extract($result); echo "<option id='' value='$Codigo'>$Designacao</option>"; endforeach; ?> <?php $ler = new Read(); ///////////////////////////////////////////////////////////////////////////////// $ler->ExeRead('Produtos','order by Designacao asc limit 1'); $resultados = $ler->getResult(); //$i = 0; foreach ($resultados as $result): $i++; extract($result); echo "<option id='' value='$Codigo'>$Designacao</option>"; endforeach; ?> <?php $ler = new Read(); // $ler->ExeRead('produtos', "where codigo = :codigo", "codigo={$_SESSION['cod_produto']}"); $ler-> ExeRead('produtos','where Codigo =3'); $resultado = $ler->getResult(); //converte os campos em variaveis foreach ($resultados as $result): $i++; extract($result); $nome_prod=$Designacao; echo $nome_prod; endforeach; ?> </select> <!--<span class="input-group-addon"><strong>Quantidade: </strong> <i class="gi"></i></span> <input type="number" id="" name="quantidadeProd" class="form-control input-lg input" min="1" >--> </div> </label> </div> </div> </div> <div class="pesqProduto" id=""> <div class="col-xs-12 text-justify"> <button type="" class="btn btn-sm btn-primary"><i class="gi gi-global"></i>PESQUISAR PRODUTOS</button> </div> <span class="input-group-addon"><i class=""></i></span> <div class="col-xs-12 text-justify"> <button type="submit" class="btn btn-primary" name="addItem" onclick="" value="Contar Linhas" id="addRow"> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Adicionar Item na Fatura </button> </div> </div> <div class="form-group"> <div id="divtable1" class="table-responsive " > <table id="" class="table table-vcenter table-condensed table-bordered"> <thead id="tHead"> <tr> <th class="text-left">Id</th> <th class="text-left tHead">Produto</th> <th class="text-left tHead">Preço</th> <th class="text-left tHead">Quantidade</th> <th class="text-left tHead">Subtotal</th> <th class="text-center tHead">Ação</th> </tr> </thead> </table> </div> <div id="divtable2" class="table-responsive scrollVertical"> <table class="table table-vcenter table-condensed table-bordered"> <tbody id="dynamicTable" > <?php @session_start(); $codigosEQuantidades = empty($_SESSION['codigosEQuantidades']) ? [] : $_SESSION['codigosEQuantidades']; foreach($codigosEQuantidades as $codProduto => $quantidade) { $ler = new Read(); $ler->ExeRead('produtos', "WHERE Codigo = {$codProduto}"); $resultados = $ler->getResult(); foreach($resultados as $resultado) { echo <<<HTML <tr> <td>{$resultado['Codigo']}<td> <td>{$resultado['Designacao']}</td> <td>{$resultado['Preco']</td> <td>{$quantidade}</td> <td>{$quantidade * $resultado['Preco']}</td> <td></td> </tr> HTML; } } ?> </tbody> </table> </div> </div> </aside> <aside id="lateral"> <div id=""> <div class="col-xs-12" > <fieldset id="formaImprimir">FORMA DE IMPRESSÃO <div class="input-group"> <span class="input-group-addon "><i class="">Térmica</i></span> <input type="radio" id="folhaA4" name="folha" class="form-control input-lg input " aria-selected="false" > <span class="input-group-addon "><i class="">A4</i></span> <input type="radio" id="folhaA4" name="folha" class="form-control input-lg input " aria-selected="false" > <span class="input-group-addon"><i class="">A5</i></span> <input type="radio" id="folhaA5" name="folha" class="form-control input-lg input" aria-selected="false" > </div> </fieldset> </div> </div> <div id=""> <div class="col-xs-12"> <div> <span class="input-group-addon"><i class="hi hi-list">Nº DE ITENS NA FATURA</i></span> <label id="label">5</label> </div> <div class="input-group"> <span class="input-group-addon text-center"><i class="gi gi-money">FORMA DE PAGAMENTO</i></span> </div> <div class="col-xs-12 text-left"> <select id="label" onChange="getFormaPgmto(this.value)" name="login-nomeUtilizador" class="select-chosen form-control input-lg" > <?php $ler = new Read(); $ler->ExeRead('formas_pagamento'); $resultados = $ler->getResult(); $i = 0; foreach ($resultados as $result): $i++; extract($result); echo "<option value='$Codigo'>$Designacao</option>"; endforeach; ?> </select> </div> <div class="input-group"> </div> <div> <span class="input-group-addon"><i class="gi gi-coins">TOTAL DA FATURA</i></span> <label id="label" >50000</label> </div> <div> <span class="input-group-addon"><i class="gi gi-coins">DESCONTO</i></span> <input type="text" id="label" name="" class="form-control input-lg input" placeholder="digite aqui o desconto"> </div> <div> <span class="input-group-addon"><i class="gi gi-coins">TOTAL A PAGAR</i></span> <label id="label" >50000</label> </div> <div id="val_cash_mtcx"> <div> <span class="input-group-addon"><i class="gi gi-coins">VALOR ENTREGUE (cash)</i></span> <input type="text" id="label" name="inputCoddigoBarra" class="form-control input-lg input" placeholder="digite aqui o valor entregue em cash"> </div> <div> <span class="input-group-addon"><i class="gi gi-coins">TROCO</i></span> <label id="label" >50000</label> </div> </div> </div> </div> </aside> <div class="input-group tipoFatura"> <div class="col-xs-12 text-left "> <button type="" class="btn btn-sm btn-primary"><i class="fa fa-angle-center"></i> Emitir Proforma</button> </div> <div class="col-xs-12 text-left"> <button type="" class="btn btn-sm btn-primary im"><i class="fa fa-angle-center"></i>Emitir à Pronto</button> </div> </div> </form> </div> </div>
  11. abraaoz

    Ocultar barra de rolagem.

    A barra de rolagem está aparecendo por causa do plugin fancybox utilizado para exibir a janela modal de captura de e-mail. Para removê-la, utilize a regra CSS overflow-y: auto; no seletor .fancybox-lock .fancybox-overlay. <style> .fancybox-lock .fancybox-overlay { overflow-y: auto; } </style>
  12. Boa tarde Weslley, No texto a seguir vou subtituir www.site.com/site/acesso/index.php por X e www.encurtado.com/sdfsdffsd por Y: Você quer que ao acessar X vá pra Y e ao acessar Y vá pra X? Isso criará um loop infinito X -> Y -> X -> Y ... Se você quiser apenas X -> Y sem que o Y possa ser acessado diretamente, é só seguir com a sua própria sugestão: Criar um arquivo liberar.php contendo: <?php @session_start(); $_SESSION['liberado'] = true; header("Location: acesso/index.php"); E no arquivo acesso/index.php acrescentar no início: <?php @session_start(); if(empty($_SESSION['liberado'])) { die('Acesso negado'); } else { // Revoga a liberação concedida pelo liberar.php, // para que o usuário seja sempre forçado a acessar pelo liberar.php unset($_SESSION['liberado']); }
  13. abraaoz

    Comparação de Resultados

    Você não precisa de dois arrays para isso. <script type="text/javascript"> var nomes = [ "GabrielOscar20", "cauzeraa", "Vitinh0Delas", "Kurtz21", "mauricioMB2020", "vncampos", "DeathAmesth", "ViniciusRamos12", "Misguidedeggman15401", "DividedBat9478", "DalalibereShadow", "VanquishedJester3427", "FlushestStar829", "Dredsdani", "Riiquebr16", "Destroctor12", "Rapidcreature17", "Xtentaza1", "FelipeKazzoid", "ricmeier", "Jogadorfelizdopaq" ]; function sorteio() { var c = document.getElementById('campo'); var d = document.getElementById('campo2'); var i = 0; var v = 5; var t = 2000; var intervalo = window.setInterval(function() { if (i >= nomes.length) i = 0; c.value = i++; }, v); window.setTimeout(function() { clearInterval(intervalo); var n = Math.floor(Math.random() * nomes.length); c.value = n; d.value = nomes[n]; }, t); } </script> <div id="sorteio"> <h1>Sorteio Aleatório Pacybits Brasil:</h1> <p> Número Sorteado: <input type="text" id="campo" name="campo"> </p> <p> ID do Ganhador: <input type="text" id="campo2" name="campo2"> <br> <input type="button" onClick="sorteio();" value="Sortear" id="btn" name="btn"> </p> <div id="config"> <h2>by Athos Abreu</h2> </div> </div>
  14. Você está usando o mesmo evento para coisas diferentes. Ou seja, o JavaScript não está diferenciando em qual parte da página você está mexendo. Onde está $('#form input').keyup(function() { na linha 2 coloque $('#form > .form-group:first input').keyup(function() { Onde está $('#form input').keyup(function() { na linha 235 coloque $('#form > .form-group:last input').keyup(function() {
×

Important Information

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