Jump to content
Santos_2015

busca em data attribute (jquery)[RESOLVIDO]

Recommended Posts

Aalera como faço um busca um valor na propriedade data do Jquery através de um input? tipo mostrar a div de acordo com busca e ocultar as outras.

 

<div data-value="A" class="valor">AA</div>
<div data-value="B" class="valor">BB</div>
<div data-value="C" class="valor">CC</div>

 

Ex: Mostrar as div que contenham A e ocultar as restantes.

Share this post


Link to post
Share on other sites
<div class="campo" data-search="valor1">Valor 01</div>
<div class="campo" data-search="valor2">Valor 02</div>
<div class="campo" data-search="valor3">Valor 03</div>
<input type="text" id="search" value="">
$('#search').on('input', function() {
  var search = $.trim(this.value);
  $('.campo').each(function() {
    if (search.length < 1) {
      $(this).show();
    } else {
      $(this).toggle($(this).filter('[data-search*="' + search + '"]').length > 0);
    }
  });
})

 

Share this post


Link to post
Share on other sites

Eu só faria um pouquinho diferente...

 

$('#search').on('input', function () {
  var search = $.trim(this.value).replace(/"/g, '\\\"');

  if (!search) {
    return $('[data-search]').show();
  }

  $('[data-search]')
    .hide()
    .filter('[data-search^="' + search + '"]')
    .show();
});

A ideia é só deixar mais fácil de entender...

Edited by Michael Granados
adicionei aspas no search e escapei as aspas para não causar possiveis injections...

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 @MF
      Boa tarde.
       
      Tenho um banco de dados que possui datas criadas no tipo numeric e não estou conseguindo convertê-las para tipo data.
       
      Utilizei
      SELECT var_string_1, CONVERT(date,CONVERT(VARCHAR,var_data_1),103) AS data_1, CONVERT(date,CONVERT(VARCHAR,var_data_2),103) AS data_2, CONVERT(date,CONVERT(VARCHAR,var_data_3),103) AS data_3, CONVERT(date,CONVERT(VARCHAR,var_data_4),103) AS data_4 FROM minha_tabela
       
      O erro que aparece é Conversion failed when converting date and/or time from character string.
       
      Alguém que possa ajudar por favor?
    • By Danilo - Jesus voltará!
      Olá, estou fazendo um cálculo de horas para cartão ponto em php e jquery... o cálculo do php já consegui um satisfatório. Preciso agora ao preencher os campos que são gerados dinamicamente de 1 a 31 que são os dias do mês, ao sair do campo Jornada (horas de trabalho), ele envie via ajax os valores preenchidos nesses 4 campos anteriores que são 4 inputs de tempo (time).
      Eu consegui recuperar individualmente, mas ele passa a chamada da função em todos, se dou um alert por exemplo ele percorre todos os campos dinâmicos para aí ir para o outro input, que no caso acontece a mesma coisa, segue o script que utilizei para pegar o valor do input individual, aí preciso que não percorra todos e pegue apenas o valor de cada um no onblur do campo jornada conforme está na figura e me retorne para os campos específicos com os dados que pegarei no php,. Espero ter sido claro, se alguém puder ajudar eu agradeço.
       
      $(document).ready(function() { $(":input").blur(function() { var id = $(this).attr('id'); var value = $(this).val(); alert(id + " " + " " + value); }); }); O que preciso está na figura abaixo:
       

       
      Aguardo, se alguém puder ajudar...agradeço
       
    • By Infra Comnet
      Estou reaprendendo o javascript desde que entrei no novo trabalho, então estou criando um projetinho simples em html com javascript dentro do html, aí ok. Googleando umas coisas que preciso para associar aos poucos no meu projetinho, encontrei através do site CodePen.io um esboço feito por alguém, daí nele continha a função era o que eu precisava (preencher os campos que automaticamente puxa para o textarea, além de substituir as palavras) , daí peguei as funções e botei no meu código-fonte de html, mas não funcionou em qualquer navegador e achei estranho. acrescentei a linha de script que chama o tal jquery do esboço de onde encontrei, testei e nada. Daí criei meu usuário no CodePen.io, joguei os códigos nele, testei e funcionou... aí achei estranho se funciona no CodePen.io e não funciona nos navegadores.
      Então vou explicar o que acontece: Pelo CodePen.io (acesse neste link com os códigos que fiz: https://codepen.io/InfraComnet/pen/JQbrMV ), o campo Código quando digitado (que será substituído por select para selecionar em vez de digitar números) está puxando conteúdo para a textarea e está ok, e os campos nome e técnico digitados estão substituindo normal. Agora nos navegadores, mesmo digitando nos campos, nada aparece no textarea.
      Um detalhe: como falei antes que estou reaprendendo o javascript, então o jquery é uma coisa nova para mim (não conheço quase nada de jquery, por isso que cacei as funções prontas e pede o src de jquery para funcionar, daí é tenso), então para que as coisas funcionem, eu botei a linha de comando da script de jquery para que possa executar as tarefas funcionando igual ao que acontece no CodePen.io, mas não tá funcionando. Já o outro projetinho que montei, tb usa o jquery (mas diferente deste) e está funcionando. Não sei onde está o erro. E outra, estou usando o Notepad++ pra mim trabalhar nos códigos de html, css e, aos poucos, javascript.
      Veja o código completo abaixo:
      <html> <head><title>SCRIPT COLETA DE INFORMAÇÕES - TESTE</title></head> <!-- Script com link de JQuery --> <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script type="text/javascript"> var dados = [{"codigo": "1", "Nome": ["AVISO PADRÃO / XXXXXX / XXXXXXXX) NÃO CADASTRADO",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) AUTORIZA CADASTRADO"]},              {"codigo": "2", "Nome": ["LEMBRETE / XXXXXX / XXXXXXXX) AGENDADO",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) VERIFICAR ORDEM DE SERVIÇO"]},              {"codigo": "3", "Nome": ["REINCIDÊNCIA / XXXXXX / XXXXXXXX)",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) PROBLEMA REINCIDENTE"]},              {"codigo": "4", "Nome": ["REAGENDAMENTO / XXXXXX / XXXXXXXX)",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) FEITO NOVO AGENDAMENTO"]},             ]; $('input[name="codigo"]').change(function(){   $('textarea[name="nome pessoal"]').val(pegaNome($(this).val())); }); $('input[name="nome"]').change(function(){   var nome = $(this).val();   var text = $('textarea[name="nome pessoal"]').val();   $('textarea[name="nome pessoal"]').val(text.replaceAll(' XXXXXX ',` ${nome} `)); }); $('input[name="tecnico"]').change(function(){   var nome = $(this).val();   var text = $('textarea[name="nome pessoal"]').val();   $('textarea[name="nome pessoal"]').val(text.replaceAll(' XXXXXXXX',` ${nome} `)); }); function pegaNome(cod){   var nome  = "Não existe na lista"   var nomes = "";      $.each(dados, function(i, val){     if (val.codigo == cod)       {         nome = val.Nome;         $.each(nome, function(index, value){           nomes += value + '\n\n';         });         }     });   return nomes; } String.prototype.replaceAll = function(searchStr, replaceStr) {     var str = this;     searchStr = searchStr.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');     return str.replace(new RegExp(searchStr, 'gi'), replaceStr); }; </script> <body> <!-- Exibindo na página nos navegadores --> <tr>   <td>     Código:<input type="text" name="codigo" size="5">     Cliente: <input type="text" name="nome" size="28"></td></br>     Técnico: <input type="text" name="tecnico" size="28"></br></br>     <textarea name="nome pessoal" rows="10" cols="50"></textarea>   </td> </tr> </body> </html>  
    • By manoaj
      Boa tarde pessoal!
      Tenho As seguintes tabelas no meu banco:
       
      Tabela->clientes(Essa tabela guarda os clientes)
      Tabela-> Produtos (Essa tabela guarda os  produtos)
      Tabela -> Tamanhos (Essa tabela guarda os tamanhos e os preços)
      Tabela->Relação de tamanho (Essa tabela guarda a relação dos tamanhos que cada produto pode ter)
      Tabela-> Pedidos (Essa tabela guarda o pedido do cliente com tamanho e quantidade)
       
      E o problema e o seguinte: Como q eu faço uma seleção nessas tabelas para saber o valor total do pedido do meu cliente com base no tamanho e quantidade escolhida?
    • By Marcos Vinícius
      Pessoal,
       
      Não tô conseguindo encontrar o problema na consulta abaixo. Não retorna dados:
       
      ("SELECT id, estab, valor, cat FROM cartao WHERE cat = 'Casa' AND DATE_FORMAT(data,'%m') = '$mes' AND DATE_FORMAT(data,'%Y') = '$ano'") or die (mysql_error());  
      Se eu tirar o campo cat após WHERE, a consulta funciona!!! Se eu tirar as consultas de data, também funciona. Mas juntando tudo não. Se eu trocar o cat por outro campo, de mesmo tipo e collation, também funciona!!!!!!! Não sei o que pode estar errado!!!!
       
      O erro no BD é esse:
       
       
×

Important Information

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