0

我想要做的是使用 php填充辅助选择选项,并根据用户使用 JQuery的主要输入填充数据库。如果选择了狗,则填充狗品种、猫 - 猫品种等。

主要输入

<select id="animal" name="animal">
    <option value="dogs" <?php if ($animaltype == 'dogs') echo 'selected'; ?>>Dogs</option>
    <option value="cats" <?php if ($animaltype == 'cats') echo 'selected'; ?>>Cats</option>
</select>

jQuery 代码

    $('select#animal').change(function() {
       var animal = $("select option:selected").attr('value');
       $('select#breed').load(animal);
       alert(animal);
    })

我添加了 alert(animal) 以确保它传递正确的值,狗、猫、马……这是针对数据库表名的。我想要实现的是更改 mysql 查询以获取该值。例如,"SELECT breed FROM animal"动物是 jquery 返回的内容。

<select id="breed" name="breed">
            <?php 
                $query = "SELECT breed, url FROM {$animaltype}";
                $results = mysql_query($query);             

                while($breed = mysql_fetch_assoc($results)) {
                    echo '<option value="'. $breed['url'] .'">'. $breed['breed'] .'</option>';
                }
            ?>
        </select>

我猜我需要一个 $.post,在 jquery 脚本中,将请求发布到该 php 页面,然后将值分配给选择查询中的 $animaltype?对 jquery/php 来说是全新的,所以对我来说轻松一点;)希望我已经解释得足够明白了。谢谢!

4

2 回答 2

0

你可以这样做:

<script type="text/javascript">
$('select#animal').change(function() {
       var animal = $("select option:selected").attr('value');
       $.ajax({
        type: "POST",
        url: "yourpage.php",
        data: { animal: animal  }
    });
    });

     var updateAnimal = function(url, breed){
        //use url and breed variables here however you want, e.g
    $('.someselectbox').append('<option value="'+url+'">'+breed+'</option>');
}

</script>

And then in your php


<?php
if(isset($_POST['animal']))
{
    $animal = $_POST['animal'];


    $query = "SELECT breed, url FROM $animal}";
    $results = mysql_query($query);             

    while($breed = mysql_fetch_assoc($results)) {
        echo echo '<script type="text/javascript">
                 updateAnimal('.$breed['url'].', '.$breed['breed'].');
              </script>';

    }
}
?>

编辑更好地了解您想要做什么。

于 2013-10-18T12:43:14.280 回答
0

第 1 部分您正在渲染页面,并且必须通过 php 填充初始选项和 id="animal" 的 SELECT 和 id="breed" 的 SELECT 的默认值。这部分您通过 PHP 执行

第 2 部分 用户在 id="animal" 的 SELECT 中选择选项,您必须执行 AJAX 请求(顺便说一下,您可以使用 .get 代替 .post)以获取 id="breed" 的 SELECT 的 JSON 数据数组。这部分您通过 JQuery 执行。

第 3 部分查询数据库并输出 JSON 数组。这部分您通过 PHP 执行

第 4 部分 AJAX 请求的回调函数接收来自服务器的响应并呈现 id="breed" 的 SELECT 选项并选择默认选项。这部分您通过 JQuery 执行。

于 2013-10-18T13:00:51.323 回答