javascript - 使用ajax从文件中读取数据

标签 javascript jquery html ajax

我正在编写一个 ajax 程序,我在其中从项目文件夹中创建的文件中读取数据。我在选择巴基斯坦国家/地区然后选择任何省份时遇到问题。首先是所选省份的城市,但是当我更改省份时,所有省份文件中的所有城市都会出现。我试了几个小时,但还是想不通。请任何人帮助

这是我的 jQuery/ajax 代码:

switch (myProvince) {
    case 'Pakistan':
        $.ajax({
            type:"GET",
            url: "file/country/Pakistan.txt",
            dataType: "text",
            success: function (response) {
                var arrayProvince = response.split(',');
                for (var i = 0; i < arrayProvince.length; i++) {
                    $('#province').append('<option>' + arrayProvince[i] + '</option>');
                }
            }
        });


$('#province').change(function () {
    var myCity = $('#province option:selected').text();
    $("#city").find("option:not(:first)").remove();

    switch (myCity) {
        case 'KPK':
            $.ajax({
                type: "GET",
                url: "file/Province/KPK.txt",
                dataType: "text",
                success: function (object) {
                    var arrayCity = object.split(',');
                    for (var j = 0; j < arrayCity.length; j++) {
                        $('#City').append('<option>' + arrayCity[j] + '</option>');
                    }
                }
            });
        case 'Punjab':
            $.ajax({
                type: "GET",
                url: "file/Province/Punjab.txt",
                dataType: "text",
                success: function (object) {
                    var arrayCity = object.split(',');
                    for (var i = 0; i < arrayCity.length; i++) {
                        $('#City').append('<option>' + arrayCity[i] + '</option>');
                    }
                }
            });
        case 'Balochistan':
            $.ajax({
                type: "GET",
                url: "file/Province/Balochistan.txt",
                dataType: "text",
                success: function (object) {
                    var arrayCity = object.split(',');
                    for (var i = 0; i < arrayCity.length; i++) {
                        $('#City').append('<option>' + arrayCity[i] + '</option>');
                    }
                }
            });
        case 'Kashmir':
            $.ajax({
                type: "GET",
                url: "file/Province/Kashmir.txt",
                dataType: "text",
                success: function (object) {
                    var arrayCity = object.split(',');
                    for (var i = 0; i < arrayCity.length; i++) {
                            $('#City').append('<option>' + arrayCity[i] + '</option>');
                    }
                }
            });
        case 'Sindh':
            $.ajax({
                type: "GET",
                url: "file/Province/Sindh.txt",
                dataType: "text",
                success: function (object) {
                    var arrayCity = object.split(',');
                    for (var i = 0; i < arrayCity.length; i++) {
                        $('#City').append('<option>' + arrayCity[i] + '</option>');
                }
            }
        });
        default:

    }
});

这是我的 Html 代码。

<div class="row">
    <div class="col-sm-4 form-group">
        <select class="country form-control" id="country">
            Country
            <option disabled selected>Country</option>
            <option>Pakistan</option>
            <option>America</option>
            <option>Russia</option>
            <option>China</option>
        </select>
    </div>
    <div class="col-sm-4 form-group">
        <select class="country form-control" id="province">
            <option id="proDefault" disabled selected>State/Province</option>
        </select>
    </div>
    <div class="col-sm-4 form-group">
        <select class="country form-control" id="City">
            <option id="city" disabled selected>City</option>
        </select>
    </div>
</div>

最佳答案

在每个 case block 的末尾需要一个 break;

参见:https://www.w3schools.com/js/js_switch.asp

关于javascript - 使用ajax从文件中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42983315/

相关文章:

javascript - 三.JS | GLSL 通过场景纹理设置粒子颜色

javascript - 检查有多少选择使用 jQuery 选择了选项

javascript - 在 HTML 表格中选择和取消选择 td

html - DIV position absolute 导致隐藏div之后的其他元素

jquery - 动态编号来自 JQUERY 的 HTML 图像

javascript - 根据 JSON 键的数量添加 html 元素

Javascript对象属性检测

javascript - 使用jquery抓取标题

javascript - 加载刷新页面后执行 Javascript 代码

c# - ajax调用后在服务器端获取空参数