0

`我有一个脚本返回正确的值,除了一个小问题。Lid 返回 892,这是正确的,但是;Cid 应该返回 16 它返回 89216 两者的组合。我怎样才能让 Cid 返回 16?

    $(document).ready(function()
{

$(".Doggie").change(function()
{
    var LocationString ='Lid='+ $(this).val();
    $.ajax({
        type: "POST",
        url: "ajax_city.php",
        data: LocationString,
        cache: false,
        success: function (html) {
            $(".Kitty").html(html);
        }
    });
});

$('.Kitty').live("change",function(){
    var Lid = $('#Doggie').val(),  // This is the value of the id="Doggie" selected option
    Cid = $(this).val(); // This is the value of the id="Kitty" selected option
$.ajax({
        type: "POST",
        url: "ajax_area.php",
        data: {"Lid":Lid,"Cid":Cid}, 
        cache: false,
        success: function (html) {                         
$(".Pig").html(html);
} 
});

});

});
 </script>
</head>
<body>

<div id="frame1">
  <label>Place :</label>
    <select name="Doggie" class="Doggie" id="Doggie">
    <option selected="selected">--Select Place--</option>
        <?php
                $sql = mysql_query("SELECT tblLocations.RestID as Lid, tblRestaurants.RestName as name
            FROM tblRestaurants INNER JOIN tblLocations ON tblRestaurants.RestID = tblLocations.RestID
            GROUP BY tblLocations.RestID, tblRestaurants.RestName
            ORDER BY tblRestaurants.RestName ASC");
        while($row=mysql_fetch_array($sql))
        {
        echo '<option value="'.$row['Lid'].'">'.$row['name'].'</option>';
            } ?>
         </select>
        <label>City :</label>
        <select name="Kitty" class="Kitty" id="Kitty">
        <option selected="selected">--Select City--</option>
        </select>
        <label>Area: :</label>
        <select name="Pig" class="Pig" id="Pig">
        <option selected="selected">--Select Area--</option>
        </select>
        </div>

</body>
</html>

ajax_city.php

    <?php
require('config.php');

if($_POST['Lid'])
{
$Lid=$_POST['Lid'];
//$Cid=$_POST['Cid'];

$sql=mysql_query("SELECT tblLocations.RestId as Lid, tblLocations.CityID as Cid, tblCities.CityName as name
            FROM tblLocations INNER JOIN tblCities ON tblLocations.CityID = tblCities.CityID
            WHERE tblLocations.RestID = $Lid
            GROUP BY tblLocations.RestID, tblCities.CityName
            ORDER BY tblCities.CityName ASC");

echo '<option selected="selected">--Select City--</option>';
while($row=mysql_fetch_array($sql))
{
echo '<option value="'.$row['Lid'].''.$row['Cid'].'">'.$row['name'].'</option>';
}
}

?>

ajax_area.php

    <?php
require('config.php');

if($_POST['Lid'])
{
//$Lid=$_POST['Lid'];
 $Cid=$_POST['Cid'];

$sql=mysql_query("SELECT tblLocations.RestId as Lid, tblLocations.CityID as Cid, tblAreas.AreaName as name
            FROM tblLocations INNER JOIN tblAreas ON tblLocations.AreaID = tblAreas.AreaID
            WHERE tblLocations.RestID = $Lid AND tblLocations.CityID = $Cid
            GROUP BY tblLocations.RestID, tblAreas.AreaName
            ORDER BY tblAreas.AreaName ASC");

echo '<option selected="selected">--Select Area--</option>';
while($row=mysql_fetch_array($sql))
{
echo '<option value="'.$row['Lid'].''.$row['Cid'].'">'.$row['name'].'</option>';
}
}

?>
4

1 回答 1

0

正是 ajax-city.php 文件中的这两行。

"SELECT tblLocations.CityId as Cid, tblCities.CityName as name

echo '<option value="'.$row['Cid'].'">'.$row['name'].'</option>';
于 2013-01-18T21:56:56.310 回答