javascript - 使用 JSON 数据动态填充下拉列表

标签 javascript php jquery html json

我在下拉菜单中显示高尔夫球场名称时遇到问题。我有一个 PHP 脚本,运行时会返回数据库中的类(class)名称。问题是,当我将其应用到 index.html 下拉页面并将其显示在浏览器中时,内容不显示下拉列表。

<?php


    $db_host = 'localhost';
    $db_user = 'root';
    $db_pass = '';
    $db_name = '';

    $con = mysqli_connect($db_host,$db_user,$db_pass, $db_name);
    if (!$con) {
    die('Could not connect: ' . mysqli_error($con));
    }   


    $sql = "SELECT name FROM courses";

    $result = mysqli_query($con, $sql) or die("Error: ".mysqli_error($con));;

    $courses = array();

    while ($row = mysqli_fetch_array($result))
    {
        array_push($courses, $row["name"]);
    }

    echo json_encode($courses);

?>

以上代码成功从数据库生成数据

$(document).ready(function () {
    $.getJSON("getCourseDD.php", success = function(data){
        var options = "";
        for(var i=0; i< data.length; i++){
            options += '<option value ="' + data[i] + '">' + '</option>';
        }
        $("#selectCourse").append(options);
    });
});

上面的代码没有将类(class)名称填充到下拉菜单中。

我的下拉菜单的 ID 是 selectCourse。

<form> <select id="selectCourse" </select> </form>

感谢您提前提供的任何帮助。

最佳答案

您需要将文本放入选项中,如下所示:

var dummyData = ['English','Spanish','French','Mandarin'];

$(document).ready(function () {
    var data = dummyData, //This data comes from the ajax callback
        courseOptions = "";

    for(var i=0; i< data.length; i++){
       courseOptions += '<option value ="' + data[i] + '">'+data[i]+'</option>';
    }

   $("#selectCourse").append(courseOptions);

});

工作演示:jsFiddle

关于javascript - 使用 JSON 数据动态填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534927/

相关文章:

javascript - REST API 的思考

javascript - 如何在不使用下拉列表的情况下实现自动完成?

javascript - 在嵌套的 ng-repeat Angularjs 中重复父行?

php - 在 Laravel 中找不到异常类

javascript - 如何在每个帖子的左侧添加一个固定位置的框

c# - ASP.NET 网页 -> 显示静态信息的最佳方式

javascript - 在 AngularJS 中使用 Wcf 数据服务

php - 检查网站是否被 .htaccess 重定向

php - Codeigniter 3 fatal error : Call to a member function database() on null

用于循环显示图标的 JavaScript 代码