php,mysql使用jquery动态下拉

时间:2014-09-13 23:20:18

标签: javascript php jquery mysql

我正在尝试为我的网站创建一个动态下拉菜单,以添加州,城市,地区和邮政编码等地址。当我在实时浏览器中逐个预览时,我正在使用代码工作,但是当我尝试使用java脚本时它不起作用它不显示下拉菜单中的数据你可以告诉我我在哪里犯错误

是index.php

<head>
</head>
<script src="scripts/jquery.js" type="text/javascript"></script>
<script src="scripts/scripts.js" type="text/javascript"></script>

<body>
<h1>address</h1>
<hr/>
<label>please select state</label>
<select id="slctstate"></select>
<br />
<br />
<label>please select city</label>
<select id="slctcity"></select>
</body>
</head>

是script.js

$(document).ready(function() {
$.getJSON("get_stat.php", success = function(data){
    var options = "";
    for(var i = 0; i < data.lenght; i++)
        {
        options += "<option value='" + data[i].toLowerCase() + "'>" + data[i] +      "</option>";
        }
        $("#sltstate").append(options);
});
$("#slctstate").change(function(){
    $.getJSON("get_city.php?state=" +$(this).value(), success = function(data){
    var options = "";
    for(var i = 0; i < data.lenght; i++)
        {
        options += "<option value='" + data[i].toLowerCase() + "'>" + data[i] + "</option>";
        }
        $("#slctcity").append(options);
    });
});

});

是get_state.php

<?php 
require "Connections/dbopen.php";

$query = "SELECT state_name FROM states";
$data = mysqli_query($conn, $query);

$states = array();

while ($row = mysqli_fetch_array($data))
{
array_push($states, $row["state_name"]);    
}
echo json_encode($states);

require "Connections/dbclose.php";

&GT;

她的是get_city.php

<?php 
require "Connections/dbopen.php";
if(isset($_GET["$state"]));
{
$state = $_GET["state"];
$query = "SELECT city_name FROM city
INNER JOIN states ON
city.state_id=states.state_id
WHERE state_name LIKE '{$state}'"; 

$data = mysqli_query($conn, $query);
$city = array();
while ($row = mysqli_fetch_array($data))
{
array_push($city, $row["city_name"]);   
}
echo json_encode($city);
require "Connections/dbclose.php";
}

&GT;

但是在最后一步我没有得到任何价值,我可以帮助任何人谢谢

1 个答案:

答案 0 :(得分:0)

您可能希望进行以下更改:

  • 将长度改为长度
  • 将success = function(data)更改为function(data)
  • 将isset($ _ GET [“$ state”])更改为isset($ _ GET [“state”])
  • 引用http://php.net/manual/en/pdostatement.fetch.php以更简单的方式获取数据(如果前3个更改不起作用,则可选)
相关问题