结合两个下拉选择来检索一个结果ajax/php


Combining two dropdown selection to retrive one result ajax/php

我有两个下拉框,我需要得到两个值从我的数据库中获取数据。

$(document).ready(function(){
    $('.fabric').on('change',function(){
        var fabricID = $(this).val();
        console.log("fabric id_price is " + fabricID); //debugging
        if(fabricID){
           $.ajax({
                type:'GET',
                url:'cart_functions.php', 
                dataType: 'json',
                data: {
                  fabric_id: fabricID
                },
                success:function(html){   
                $('.icms' + id).text(data.val);                                                       

                }
            }); 
      //closing tags

    $('.size').on('change',function(){
        var sizeID = $(this).val();
        if(sizeID){
            $.ajax({
                type:'GET',
                url:'cart_functions.php',
                 dataType: 'json',
                data:{
                  size_id: sizeID
                },
                success:function(html){
                    $('.icms' + id).text(data.val);
                }
            }); 
//closing tags

我将这两个值发送到我的计算器。php

<?php header('Content-Type: application/json');
 include_once '../incluedes/conn_cms.php'; 
 if(isset($_GET["size_id"],$_GET["fabric_id"])){
    $size_id=$_GET["size_id"] ;
    $fabric_id=$_GET["fabric_id"] ;
 $query3 =" SELECT * FROM valores_almofadas 
            WHERE size='$size_id'
            AND   price_id ='$fabric_id'";
        $result = mysqli_query($conn,$query3);
        while($rows = mysqli_fetch_assoc($result)){
            if($_SESSION['estado'] == 'SP'){
              $ICMS = $rows['icms_7'];
             }else{
              $ICMS = $rows['icms_12'];
             }
             $_SESSION['icms']=$ICMS;
        } echo json_encode($_SESSION['icms']);
} 
?> 

所以我选择一个面料,然后一个尺寸面料值是我的id,尺寸是50或45。

fabricid= 1 and size = 50 <——我把这个发送到我的compute .php所以我想把值返回到会话中。结果必须是在d..

<td class="icms'.$id.'">R$:'.$_SESSION['icms'] .'</td>

但它不工作,我不擅长ajax,你能告诉我什么是错的,我怎么能解决这些混乱?

确保这两个值总是与请求一起发送

$(document).ready(function() {
    $('.fabric, .size').on('change', sendData);
    function sendData() {
        var fabricID = $('.fabric').val();
        var sizeID   = $('.size').val();
        if ( fabricID !== "" && sizeID !== "") {
            $.ajax({
                type     : 'GET',
                url      : 'cart_functions.php',
                dataType : 'json',
                data     : {
                    fabric_id: fabricID,
                    size_id: sizeID
                }
            }).done(function(html) {
                $('.icms' + this.id).text(data.val);
            });
        }
    }
});

在任何ajax调用中都不会同时发送两个值,只能发送一个或另一个。您还需要在.size更改事件和中获取fabric_id的值,反之亦然