Jump to content
kenio Junio

Função ON do Jquery não exclui elementos no DOM

Recommended Posts

Estou desenvolvendo um sistema com PHP e AJAX adiciono em uma tabela uma linha ate ai tudo normal, mas depois que adicionei a linha na tabela quero apagar. 

estou usando o on(), mas parece não esta funcionando. 

 

JAVASCRIPT

$('.extList').on('click', function(){
      var idPordEx = $(this).attr('id');
      $(".addStatus").html('<span class="add"><i class="fa fa-spinner fa-spin fa-3x fa-fw" style=""></i> Excluindo... <span></span></span>');
      $.ajax({
          type: "POST",
          url: "sys/excluirPreco.php",
          data: 'id='+idPordEx+'',
          success: function( data )
          {
              var dadosOb = JSON.parse(data);
              var segundos = 7;
              if (dadosOb.excluiu == 'sim') {
              	$(".addStatus").html('<span class="checkVeri"><i class="fa fa-check-circle" aria-hidden="true"></i> Excluido com sucesso! </span>');
                  setTimeout(function(){
                    $('.checkVeri').hide();
                }, segundos*1000);
                $('#consu_'+dadosOb.idList).remove();
              }else if(dadosOb.excluiu == 'sim' || dadosOb.erro == 'sim'){
              	 $(".addStatus").html('<span class="FailVeri"><i class="fa fa-times-circle" aria-hidden="true"></i> Erro ao excluir! </span>');
	                setTimeout(function(){
	                  $('.FailVeri').hide();
	                }, segundos*1000);
              }
          },
          error: function(){
          }
      });
  	});

PHP

<?php 

	include_once "../../../config.php";
	include_once "../../../classes/BD.class.php";

	if (isset($_POST['id'])) {
		$id = $_POST['id'];
		$DeletProd = BD::conn()->prepare("DELETE FROM `preco_estado` WHERE id = ?");
		if($DeletProd->execute(array($id))){
			die(json_encode(array('excluiu' => 'sim','idList' => $id)));
		}else{
			die(json_encode(array('excluiu' => 'nao')));
		}
	}else{
		die(json_encode(array('erro' => 'sim')));
	}

?>

E O HTML 


                          <tr id="consu_<?php echo $finalization->id; ?>">
                            <td><?php echo $finalization->id; ?></td>
                            <td><?php echo $finalization->estado; ?></td>
                            <td><span class="badge bg-light-blue">R$ <?php echo number_format($finalization->preco,2,',','.'); ?></span></td>
                            <td><div class="extList" id="<?php echo $finalization->id;?>"><i class="fa fa-times lixo" aria-hidden="true"></i></a></td>
                          </tr>
 

 

Share this post


Link to post
Share on other sites
  1. A variável idPordEx é numérica?
  2. O callback da chamada AJAX está a entrar no evento success?
  3. Usa um console.log para verificar se o conteúdo de dadosOb é o que pretendes.
  • Obrigado! 1

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 lucasbr2312
      Eu tenho um carousel do bootstrap e me foi proposto que quando trocasse o slide, fizesse uma pequena animação nos elementos dentro dele
      Algo assim:
      if($('#item-2').hasClass('active')){ $('.imagem-carousel').fadeIn(2000) }   Mas eu queria saber como eu faço pra que essa condição seja verificada sempre que o slide for trocado, seja por click, arrastando ou quando o slide passa automaticamente. 
    • By juh2425
      Boa noite pessoal
      estou com um dificuldade em como faço uma validação de data atual no caso não pode ser permitido data maior que a data atual do dia ja fiz da data em branco alguem poderia de auxilar:
       
       <script>
                  $("#btn__Gravar").click(function () {
                      if ($("#tipo_movimento").val().trim() == "") {
                          alert("Selecionar o tipo do movimento");
                          return false;
                      }
                      if ($("#tipo_movimento").val().trim() == "") {
                          alert("Selecionar a categoria do movimento");
                          return false;
                      }
                      if ($("#tipo_movimento").val().trim() == "") {
                          alert("Prencher o campo data movimento");
                          return false;
                      }
                      if ($("#valor_movimento").val().trim() == "") {
                          alert("Prencher o campo data movimento");
                          return false;
                      }
                  })
              </script>
    • By frodrigues49
      function getProduto(a){ var a = $(a) var idproduto = a.parent().parent().parent().find(".idproduto"); var produto = a.parent().parent().parent().find(".produto"); var preco = a.parent().parent().parent().find(".preco"); var vId = idproduto.val(); var vProduto = produto.val(); var vPreco = preco.val(); var vQnt = 1; var vTotal = (parseFloat(vQnt) * parseFloat(vPreco)); var prodAdd = false; $(".id").each(function(index, value) { if ($(value).val() == vId) { $('input[id^="pqnt"]').get(0).value++ ; prodAdd = true; } }); if (!prodAdd) { var cont=0; var linha = '<tr class="selected" id="linha'+cont+'">'+ '<td>'+ '<input class="id" type="hidden" name="idproduto[]" value="'+vId+'">'+vProduto+ '</td>'+ '<td>'+ '<input id="preco" type="text" class="form-control text-right" name="preco[]" value="'+vPreco+'" onblur="multiplicar();" onblur="formatar();">'+ '</td>'+ '<td>'+ '<input id="pqnt" type="text" class="form-control text-center" name="qnt[]" value="'+vQnt+'"><span class="vlr">'+ '</td>'+ '<td>'+ '<input style="text-align: right;" id="subtotal" class="form-control subtotal" type="hidden" value="'+vTotal+'" readonly onblur="calcular();">'+ '<input style="text-align: right;" type="text" class="form-control subtotalT" id="subtotalT" name="subtotal[]" value="'+numberToReal(vTotal)+'" readonly>'+ '</td>'+ '<td class="text-center">'+ '<a style="cursor:pointer" onclick="deleteRow(this)" class="glyphicon glyphicon-trash"></a>'+ '</td>'+ ' </tr>' cont++; $('#mytbody').append(linha); contItem(); calcular(); $(".subtotal").each(function() { $(this).blur(function(){ calcular(); }); }); } } Boa tarde
       
      Estou fazendo um projeto em laravel de um pdv. Gostaria de quando clicar na imagem do pruduto ele inserisse na lista, porem ao clicar novamente ele aumentasse a qnt e nao inserisse. Conforme imagem em anexo.

    • By David Samu
      let total_entradas = 3//ai virar total de colunas
      let total_linhas   = 0
      let tabela         = []
      for(let coluna=total_entradas; coluna>0; coluna-- )
      {
          let repeticao = 1
          for(let x=1; x<=coluna; x++)
          {
              repeticao = (2 * repeticao)
          }
          if( total_linhas === 0 )
          {
              total_linhas = repeticao
          }
          if(repeticao != 1) 
          {
              repeticao = (repeticao / 2)
          }
          let valores = []
          let vdd     = 1
          let lastBoo = 'v'
          for( let linha=0; linha < total_linhas; linha++ )
          {
              if( vdd <= repeticao )
              {
                  val = lastBoo
              }
              else
              {
                  if( lastBoo == 'v' )
                  {
                      lastBoo = 'f'  
                  }
                  else 
                  {
                      lastBoo = 'v'
                  }
                  val = lastBoo
                  vdd=1
              }
              vdd++
              valores.push(val)
          }
          tabela[ (coluna - 1) ] = valores   
      }
      let countCol = 1
      for(let coluna=tabela.length - 1; coluna>=0; coluna--)
      {
          console.log("Coluna ", countCol++)
          for(let linha = 0; linha < tabela[coluna].length; linha ++)
          {
              console.log( tabela[coluna][linha] )
          }
      }
    • By andrelimaverde
      Pessoal preciso de uma ajuda, desde já agradeço à todos.
      "Site teste, estudos..."
      Tenho um formulário com 3 etapas, ele está trabalhando em php normalmente e salvando os dados preenchidos em .txt (para testes apenas).
      Vamos lá, nas 3 etapas o form está com action="1.php" (2.php,  3.php) e method="post". [Não vou colocar muito código para simplificar, pois é um formulário básico fácil de entender]
      Exemplo:  Pagina 1 - envia para action '1.php'
      Nome: 
      Telefone:
      <input type="submit" value="Continuar">
      (
       O arquivo 1.php armazena os dados e redireciona => header( 'Location:Pagina2.php' ) ;   
       Assim como os outros php's
      )
      Pagina 2 - action 2.php armazena os dados e redireciona => header( 'Location:Pagina3.php' ) ; 
      Cidade:
      Endereço:
      <input type="submit" value="Continuar">
       
      A questão está na 3ª página
      Página 3 -
      Email:
      (Preciso que após preencher o campo da página 3 no caso "Email:",  ao clicar no botão, neste caso não sei se seria um submit ou button. O formulário não redirecionar para pagina 4, ao clicar ele enviar e salvar normalmente, mas aparecer um novo input na mesma pagina por Exemplo:"Twitter:"  ) 
      No caso preciso que ele não redirecione , gostaria de colocar um gif de carregando por 15 segundos por exemplo como se estivesse processando as informações... e em seguida ele apresentar o novo input do "Twitter:" , onde ai sim enviaria normalmente...
×

Important Information

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