首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于HTML中的两个下拉选择动态显示JSON数据的Javascript

基于HTML中的两个下拉选择动态显示JSON数据的JavaScript可以通过以下步骤来实现:

  1. 创建HTML页面,包括两个下拉选择框和一个用于显示JSON数据的容器。
代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
    <title>动态显示JSON数据</title>
</head>
<body>
    <label for="category">选择分类:</label>
    <select id="category" onchange="loadData()">
        <option value="">请选择</option>
        <option value="1">分类1</option>
        <option value="2">分类2</option>
    </select>

    <br>

    <label for="item">选择项目:</label>
    <select id="item" onchange="displayData()"></select>

    <br>

    <div id="dataContainer"></div>

    <script src="script.js"></script>
</body>
</html>
  1. 创建JavaScript文件script.js,用于处理下拉选择框的改变事件和动态显示JSON数据。
代码语言:txt
复制
function loadData() {
    var category = document.getElementById("category").value;

    // 发送请求获取对应分类的JSON数据
    // 可以使用XMLHttpRequest或者fetch等方式发送异步请求

    // 假设从服务器获取的JSON数据如下:
    var data = {
        "1": [
            {
                "id": "1",
                "name": "项目1"
            },
            {
                "id": "2",
                "name": "项目2"
            }
        ],
        "2": [
            {
                "id": "3",
                "name": "项目3"
            },
            {
                "id": "4",
                "name": "项目4"
            }
        ]
    };

    var itemSelect = document.getElementById("item");
    itemSelect.innerHTML = ""; // 清空原有选项

    if (category) {
        var items = data[category];
        for (var i = 0; i < items.length; i++) {
            var option = document.createElement("option");
            option.value = items[i].id;
            option.text = items[i].name;
            itemSelect.appendChild(option);
        }
    }
}

function displayData() {
    var category = document.getElementById("category").value;
    var itemId = document.getElementById("item").value;

    // 根据选择的分类和项目,从服务器获取对应的JSON数据
    // 可以使用XMLHttpRequest或者fetch等方式发送异步请求

    // 假设从服务器获取的JSON数据如下:
    var data = {
        "1": [
            {
                "id": "1",
                "name": "项目1",
                "description": "项目1的描述"
            },
            {
                "id": "2",
                "name": "项目2",
                "description": "项目2的描述"
            }
        ],
        "2": [
            {
                "id": "3",
                "name": "项目3",
                "description": "项目3的描述"
            },
            {
                "id": "4",
                "name": "项目4",
                "description": "项目4的描述"
            }
        ]
    };

    var dataContainer = document.getElementById("dataContainer");
    dataContainer.innerHTML = ""; // 清空原有数据

    if (category && itemId) {
        var items = data[category];
        for (var i = 0; i < items.length; i++) {
            if (items[i].id === itemId) {
                var jsonData = JSON.stringify(items[i], null, 2);
                dataContainer.innerText = jsonData;
                break;
            }
        }
    }
}

window.onload = function() {
    loadData();
};
  1. 在加载完页面时触发loadData()函数,根据选择的分类加载对应的项目选项。
  2. 在选择项目改变时触发displayData()函数,根据选择的分类和项目显示对应的JSON数据。
  3. 根据实际情况,可以通过异步请求从服务器获取JSON数据,并在相应位置进行处理。

这个实例中,我们使用了两个下拉选择框,第一个选择框用于选择分类,第二个选择框根据选择的分类动态加载对应的项目选项。当选择了项目后,会根据选择的分类和项目从服务器获取对应的JSON数据,并在页面中显示出来。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券