如何使用 Ajax 一次填充两个下拉菜单

How to populating two dropdowns at once using Ajax

我正在从我的数据库(州和城市)中的 2 个两个表中创建两个下拉字段。城市表链接到每个州。我使用 php 将两个表中的数据转换为 Json。我也使用 Ajax 来填充 select 下拉列表。现在,我想在用户 select 状态下拉列表中过滤城市下拉列表。我正在使用下面的代码并且它工作正常,除了它在每个填充的选项字段之后添加一个空选项字段。有什么帮助吗?

function State() {
    $('#statedd1').empty();
    $('#statedd1').append("<option value='0'>- Select State -</option>");
    $('#citydd1').append("<option value='0'>- Select City -</option>");
    $.ajax({
        type:"GET",
        url:"states.php",
        contentType:"application/json; charset=utf-8",
        dataType:"json",
        success: function(data) {
            $('#statedd1').empty();
            $('#statedd1').append("<option value='0'>- Select State -</option>");
            $.each(data,function (index, item) {
                $('#statedd1').append('<option value="'+ item.State_ID +'">'+ item.State_Name +'<option>');
            });
        },complete: function() {}
    });
}

function City(State_ID) {
    $('#citydd1').empty();
    $('#citydd1').append("<option>Loading...</option>");
    $.ajax({
        type:"GET",
        url:"cities.php?Id="+State_ID,
        contentType:"application/json; charset=utf-8",
        dataType:"json",
        success: function(data) {
            $('#storedd1').empty();
            $('#storedd1').append("<option value='0'>- Select City -</option>");
            $.each(data,function (index, item) {
                $('#citydd1').append('<option value="'+ item.CityID +'">'+ item.CityName +'<option>');
            });
        },complete: function() {}
    });
}

$(document).ready(function() {
        State();
        $("#statedd1").change(function() {
            var State_ID = $("#statedd1").val();
            City(State_ID);
        });
    });

<p><select id="statedd1"></select></p>
<br><br>
<p><select id="citydd1" multiple></select></p>

我认为您在附加行的第二个选项标签 < /option> 中缺少 /