Fill with an AJAX 3 inputs

0

Good I am doing an AJAX request with three "selects" in which I send the value for POST.

$(function(){
    $("#select2-2, #select2-4, #select2-3, #cntComprada").on("change", function(e){
      var producto ="#select2-2";
      var contrato ="#select2-4";
      var tipoFactura ="select2-3";
      var cntComprada ="cntComprada";

        if ($("#select2-2").val() !=null){
          producto = $("#select2-2").val();
        }
        if ($("#select2-4").val() !=null){
          contrato = $("#select2-4").val();
        }
        if ($("#select2-3").val() !=null){
          tipoFactura = $("#select2-3").val();
        }
        if ($("#cntComprada").val() !=null){
          cntComprada = $("#cntComprada").val();
        }

        var datos = {
          'producto': producto,
          'contrato': contrato,
          'tipoFactura': tipoFactura,
          'cntComprada': cntComprada,
        };

        $.ajax({
            url: "sumasFact.php",
            type: "post",
            dataType: "html",
            data: datos,
            /*beforeSend: function(){
              $("#res").html("<div class='ui active inline loader'></div>")
            },*/
            success: function (resultado){
              $("#eTotal").val(resultado);
            }
    });
});

    });

PHP

//var_dump($_GET);
   $results = $mysqli->query("SELECT * FROM posibles WHERE idproducto = $producto AND tipo = $contrato");
   mysqli_set_charset("utf8");
   if($res = $results->fetch_array()) {}
    //PRECIO UNIDAD//
    $precioUnd = $res['primerPago'];
    $totalConCantidades = $res['primerPago'] * $cntComprada =$_POST['cntComprada'];
    $ivaX21 = $totalConCantidades*21;
    $ivaD100 = $ivaX21/100;
    $ivaTotal = $ivaD100 + $totalConCantidades;

   //$primerPago = $res['primerPago'] * $cntComprada =$_POST['cntComprada'];

   echo $ivaTotal;

I need to print the result of:

$precioUnd in one input
$totalConCantidades in other input% $ivaD100 in other input% $ivaTotal in other input

Is this possible, or am I doing it wrong?

    
asked by Miguel 27.10.2018 в 00:43
source

1 answer

0

What you need is to code it to json

$resultado=array();
$resultado['precioUnd'] =$precioUnd;
$resultado['totalConCantidades'] =  $totalConCantidades;
$resultado['ivaX21'] = $ivaX21;
$resultado['ivaD100'] = $ivaD100;
$resultado['ivaTotal'] = $ivaTotal;
echo json_encode($resultado);

and in your ajax replace dataType: "json" to access the values returned in result result.ivaTotal

$.ajax({
            url: "sumasFact.php",
            type: "post",
            dataType: "json",
            data: datos,
            /*beforeSend: function(){
              $("#res").html("<div class='ui active inline loader'></div>")
            },*/
            success: function (resultado){
              $("#eTotal").val(resultado.ivaTotal);
            }
    });
    
answered by 27.10.2018 / 00:59
source