使用Ajax的动态列表

时间:2017-04-25 13:16:12

标签: php ajax

我的网站是comugg.com。我试图根据我网站的这一部分进行动态下拉。

https://gyazo.com/bc68919205d61b2022543d1aef81ca36

无论如何,我得到了第一和第二级的工作。我在第三级挣扎。我已经将问题缩小到我的代码中的这两个区域。如果有人能给我第二眼,我会很感激。

        <div id="model">
    <label>Model</label>
        <select name="model" id="modellist" onchange="getId2(this.value);">
            <option value="">Select Model</option>
        </select>
    </div>

            <div id="year">
    <label>Year</label>
        <select name="year" id="yearlist" >
            <option value="">Select Year</option>
        </select>
    </div>


    <script>
        function getId(val){
                jQuery.ajax({
                method: "POST",
                url: "getdata.php",
                data: "make="+val,
                success:function(data){
                    jQuery("#modellist").html(data);
                }
                });


        }
        function getId2(val){
                jQuery.ajax({
                method: "POST",
                url: "getdata2.php",
                data: "model="+val,
                success:function(data){
                    jQuery("#yearlist").html(data);
                }
                });

        }

    </script>

并且getdata2.php的下一部分是

<?php
include_once "connection.php";
$make = $_POST["year"];


if (!empty($_POST["year"])) {
    $make = $_POST["year"];
    echo $query = "SELECT Distinct Year FROM websitemasterlist where Model='".$model."'"; 
    $results = mysqli_query($conn, $query);
    ?>
    <option value="">Select Year</option>
    <?php
    foreach ($results as $info){
    ?>
    <option value="<?php echo $info["Year"]; ?>"><?php echo $info["Year"]; ?></option>
    <?php
    }
}
?>

任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

原来我的变量位于错误的区域。

答案 1 :(得分:0)

我没有看到任何一年发布的数据,所以更新此代码,希望它可以工作,在ajax代码中使用发布数据

data: "model="+val,

所以在你的PHP代码中需要使用相同的帖子值     

if (!empty($_POST["model"])) {
    $make = $_POST["model"];
    echo $query = "SELECT Distinct Year FROM websitemasterlist where Model='".$make."'"; 
    $results = mysqli_query($conn, $query);
    ?>
    <option value="">Select Year</option>
    <?php
    foreach ($results as $info){
    ?>
    <option value="<?php echo $info["Year"]; ?>"><?php echo $info["Year"]; ?></option>
    <?php
    }
}
?>