0

有两个下拉菜单,A 和 B。

a中的值是: - 汽车,自行车,平面B中的值是(选择汽车时): - 选择自行车时的梅赛德斯: - 杜卡迪: - 选择平面时: - mig,concorde

同样在选择两个下拉菜单中的值后,将更新一个带有价格的文本框,我需要这是一个重复的过程。我该如何实施?我对 PHP 相当陌生。

4

1 回答 1

0

首先,我要感谢 jogesh_p 的帮助。

我终于设法自动填充两个下拉菜单,并使第二个下拉菜单依赖于第一个下拉菜单。

正如 jogesh 在使用 php 和 jQuery 的动态选择框上提到的他的博客

确实有很大帮助。

但是,我将发布我使用过的代码,因为论坛往往会占据 Google 中更高的结果,并且让像我这样的其他新 php 程序员更容易找到它。

编码分两页完成:

  1. attempt.php(这是主页)
  2. level.php(当第一个下拉菜单的值改变时调用这个页面)

jQuery 和 PHP 都用过。

attempt.php

<?php
//connect to the database
$con = mysql_connect("localhost","root","12345") or die("error ".mysql_error());

//connect to the trav table
mysql_select_db("trav",$con) or die("error ".mysql_error());
?>

<html>
<head>    
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
   <script>
   $(function()
   {

        $(window).load(function()
        {
            $('#building').change(function()
            {
                var parentValue = $(this).val();


                // Determine the selected Value
                if( parentValue.length != "" )
                {
                    $.ajax(
                    {
                        url: 'level.php',
                        data: {parent: parentValue},
                        success: function(data)
                        {
                            $('#level').html(data);
                        }
                    });
                }
                else
                {
                    $('#level').html('<option value="">Please Select</option>');
                }
            });
        });
    });
    </script>
</head>

<body>
<form method="post" action="<?php echo $PHP_SELF;?>">

    <table cellpadding="6" cellspacing="1">
        <tr>
            <td>
                <label>Select Building : </label>
            </td>
            <td>
                <select id="building">
                    <option value="">Please Select</option>
                    <?php
                        $query = "select * from build_list";
                        $result = mysql_query($query) or die('Error'.mysql_error());

                        while( $row = mysql_fetch_assoc($result) )
                        {
                            echo '<option value="'. $row['building'] .'">' . ucwords($row['building']) . '</option>';
                        }
                    ?>
                </select>
            </td>
            <td>
                <label>Select Level : </label>
            </td>
            <td>
                <select id="level">
                        <option value="">Please Select</option>
                </select>
            </td>
        </tr>   
    </table></center>
</form>
</body>
</html>

level.php

<?php
//connect to the database
$con = mysql_connect("localhost","root","12345") or die("error ".mysql_error());

//connect to the trav table
mysql_select_db("trav",$con) or die("error ".mysql_error());

$building = mysql_real_escape_string($_GET['parent']);

$query = "select * from ";
$query = $query . $building;
$query = $query . ";";
$result = mysql_query($query) or die('Error in Child Table!');

echo '<option value="">Please Select</option>';
while( $row = mysql_fetch_assoc($result) )
{
    echo '<option value="'. $row['lvl'] .'">'.$row['lvl'].'</option>';
}
?>

请注意,上面的代码是从 jogesh 的博客中使用的。上面已经提到了链接。

希望它可以帮助像我这样对 php 不熟悉但喜欢尝试我们不同的东西的其他 php 程序员。

于 2012-08-30T11:50:52.067 回答