Javascript下拉列表未完成完整任务

时间:2018-05-08 23:09:36

标签: javascript php

以下是我在遵循在线教程时修改的javascript。目标是让2下拉列表首先查询数据库并生成可供选择的选项列表。选择完成后,第二个列表将根据第一个列表中的选择更改其结果。然而第二个下拉列表没有被填充,我认为它在这段代码中,但我对javascript很新。这里有什么不对的,我没有看到。以下是视频https://www.youtube.com/watch?v=d_mT6gD_dDE

的视频
enter code here
$(document).ready(function () {
    $.getJSON("GetTaxon.php", success = function(data)
    {
        var options = "";

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

        $("#first_choice").append(options);

        $("#first_choice").change();
    });

    $("#first_choice").change(function()
    {
        $.getJSON("Get_FullName.php?taxon=" + $(this).val(), success = function(data)
        {
            var options = "";

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

            $("#second_choice").html("");
            $("#second_choice").append(options);
        });
    });
});

我得到的错误是我认为:

Uncaught TypeError: Cannot read property 'toLowerCase' of null
at Object.success (script.js:24)
at u (jquery-3.3.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.3.1.min.js:2)
at k (jquery-3.3.1.min.js:2)
at XMLHttpRequest.<anonymous> (jquery-3.3.1.min.js:2)

有没有办法使用toLowerCase参数来避免这种情况?我希望它尽可能接受所有输出,但我不确定如何做到这一点。

0 个答案:

没有答案