weixin_33712881 2017-06-25 14:35 采纳率: 0%
浏览 31


OK so I have been for 2 days trying to do this but for some reason, doesn't matter in what way I do it, it doesn't work (I tried different way with json_encode and then taking care of creating the elements with javascript, I've tried to echo the in the php itself, I've tried to return it, nothing really works)

What I'm trying to do is use AJAX to ask the server for a specific script (right now test.php) and then return the <option>'s so I can populate a <select>, so I'm trying to populate a comboBox, what seems to be happening is that the AJAX response is coming out empty, I tried to output the result and it was outputting an empty value. Can anyone please help me, I'm really desperate at this point, it should have been easy, I've spent hours on stack overflow trying to find the problem, I've debugged the code to the best of my ability, I've read everything relevant in the jquery documentation. well anyways my setting my suffering aside, here's the code:

comboStaging.php :

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<form id="testForm">
    <select name="states" id="states">

        $odb = new PDO('mysql:host=localhost;dbname=database', 'root', '');
        $query = "SELECT id, name FROM `database`.pt_state";
        $data = $odb->prepare($query);

        while ($row = $data->fetch(PDO::FETCH_ASSOC)) {
            echo '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
    <select name="cities" id="cities">


<script type="text/javascript">
    $(document).ready(function () {

        function loadFirst() {
                type: "GET",
                url: "test.php",
                cache: false,
                data: "id=1",
                dataType: "html",
                success: function (data) {



    $("#states").change(function () {
        var ID = document.getElementById("states").valueOf().value;

            type: "GET",
            url: "test.php",
            cache: false,
            data: "id=" + ID,
            success: function (r) {
                document.getElementById("cities").innerHTML = r;


header('Content-Type: text/html');
require_once $_SERVER['DOCUMENT_ROOT'] . "/resources/scripts/php/conn/dal.php";

$stmt = $DB_con->prepare('SELECT id, name FROM `database`.pt_city WHERE state_id=:state');
$stmt->bindParam(':state', $_GET['ID']);

if($stmt->rowCount() > 0 ) {
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $test = $test . '<option value="' . $row['id'] . '"id="optionTest">' . $row['name'] . '</option>';
return $test;

Dev console: dev console

  • 写回答



      相关推荐 更多相似问题


      • ¥15 c++字符串分割问题
      • ¥15 关于#sql#的问题:没有用命令关闭cdc,手动把系统表开启的cdc右键删除了
      • ¥15 vue+uniapp
      • ¥15 android freedom
      • ¥15 使用自定义的类型代替内置类型可行吗
      • ¥15 关于STM32的SPI和ENDAT接口编码器通信的问题
      • ¥15 关于#pdfbox#生成的PDF文件正常,转图片中文乱码的问题,如何解决?
      • ¥15 ADS中有关DAC控件的使用问题
      • ¥15 win11如何运行geoserver
      • ¥15 审稿意见请教-用ERNIE进行小样本分类的对比实验问题