How to take checkbox values and insert them into the bank

Asked

Viewed 104 times

0

I will list several products and in each will have one checkbox to select which ones he wants. The problem is that I’m not getting to do the $.each() to pick up only the selected products and then insert them into the bank.

jQuery:

$(document).on("click", ".uib_w_7", function(evt)
{
   $.ajax({
      type:"get",
      url: "http://localhost:8080/app-banco/funcao.php",
      data:"acao=listarprodutos",
      dataType:"json",
      success: function(data){
         var checkbox = $('input:checkbox[name='check[]']:checked');
         if(checkbox.length > 0){
            //array para armazenar os valores
            var val = [];
            //função each para pegar os selecionados
            checkbox.each(function(){
               val.push($(this).val());
            });
            //exibe no console o array com os valores selecionados
            console.log(val);
         } 
      });
   });
   activate_subpage("#listar"); 
});

PHP:

if($acao == "listarpedidos"){
   $query = "select * from tb_pedidos INNER JOIN select * tb_pedido_produto *  tb_pedido_produto.cd_categoria = tb_produto.id_categoria ";
   $result = mysqli_query($conexao, $query);
   if($result){
      $blnFimReg = false;
      $json = "{ \"registro\" : [ ";
      while($linha = mysqli_fetch_assoc($result)){
         if($blnFimReg){
            $json.=", ";
         }
         $json .= "{\"cliente\" : \"" . $linha["nm_cliente"] . "\",";
         $json .= "\"mesa\" : \"" . $linha["nr_mesa"] . "\",";
         $json .= "\"codigo\" : \"" . $linha["cd_pedido_produto"] . "\",";
         $json .= "\"nome\" : \"" . $linha["nm_pedido_produto"] . "\",";
         $json .= "\"valor\" : \"" . $linha["vl_pedido_produto"] . "\",";
         $json .= "\"quantidade\" : \"" . $linha["qt_produto"] . "\"}";
         $blnFimReg = true;
      }
      $json .= '] }';
      echo $json;
   }  
}

HTML:

<div class="upage hidden background" id="produtos">
   <div class="upage-outer">

      <div class="container">
         <div class="panel-group">
            <div class="panel panel-default">
               <div class="panel-heading" id="lstcategoria">
                  <h5 class="panel-title">

                  </h5>
               </div>
               <div id="collapse1" class="panel-collapse collapse">
                  <ul class="list-group">
                     <div class="panel-group">
                        <div class="panel panel-default">
                           <div class="panel-heading" id="lstsubcategoria">

                              <h4 class="panel-title">
                              </h4>
                           </div>
                           <div id="collapse2" class="panel-collapse collapse">
                              <ul class="list-group" id="lstprodutos">

                              </ul>
                           </div>
                        </div>
                     </div>
  • Can’t use json_encode()?

  • Pay attention on that line, you did not escape the simple quotes of the check[]: var checkbox = $('input:checkbox[name='check[]']:checked');

  • @rray as it would be implentado ?

2 answers

0

Experiment with serialize function:

var params = $('input:checkbox').serialize();

0

On the line

var checkbox = $('input:checkbox[name='check[]']:checked');

the correct would be:

var checkbox = $('input:checkbox[name="check[]"]:checked');

Browser other questions tagged

You are not signed in. Login or sign up in order to post.