📜  jquery populate select from json - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:09.618000             🧑  作者: Mango

使用 jQuery 从 JSON 中填充下拉菜单 - JavaScript

在 Web 开发中,我们通常需要填充下拉菜单(select)和其他表单控件,以通过用户界面收集数据。对于静态选项,我们可以手动编写 HTML 代码。但是,当选项需要从数据库或 web 服务中获取时,我们需要使用 JavaScript 动态填充下拉菜单。在本文中,我们将学习如何使用 jQuery 从 JSON 数据源中填充下拉菜单。

步骤 1 - 准备 HTML 页面

首先,我们需要准备我们的 HTML 页面,以便容纳下拉菜单。我们可以使用以下代码作为初始 HTML:

<!DOCTYPE html>
<html>
<head>
	<title>jQuery Populate Select From JSON Example</title>
	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
	<h1>Select an Item</h1>
	<select id="items"></select>
</body>
</html>

以上代码定义了一个空的下拉菜单,它将由 JavaScript 代码填充。

步骤 2 - 获取 JSON 数据

接下来,我们需要编写 JavaScript 代码,从 JSON 数据源中获取选项,然后将它们填充到下拉菜单中。假设我们的 JSON 数据源存储在名为 items.json 的文件中。以下是我们可以使用的 JavaScript 代码:

$(document).ready(function(){
	$.getJSON("items.json",function(data){
		$.each(data,function(index,item){
			$("#items").append('<option value="'+item.id+'">'+item.name+'</option>');
		});
	});
});

以上代码使用 jQuery 的 getJSON 函数从 items.json 文件中获取 JSON 数据。然后,使用 $.each 函数遍历该数据,并将每个项添加到下拉菜单中。在 $.each 循环中,我们使用选项的 ID 作为 value 属性,使用选项的名称作为显示文本。

步骤 3 - 创建 JSON 数据源

最后,我们需要创建一个 JSON 数据源,以便我们的 JavaScript 代码可以获取选项。以下是一个简单的示例数据,保存为 items.json 文件:

[
  {
    "id": "1",
    "name": "Item 1"
  },
  {
    "id": "2",
    "name": "Item 2"
  },
  {
    "id": "3",
    "name": "Item 3"
  },
  {
    "id": "4",
    "name": "Item 4"
  },
  {
    "id": "5",
    "name": "Item 5"
  }
]

以上 JSON 数据包含五个项,每个项都有一个 ID 和一个名称。我们的 JavaScript 代码将使用这些信息填充下拉菜单。

结论

通过遵循上述三个步骤,我们可以使用 jQuery 从 JSON 数据源中填充下拉菜单。下面是完整的代码片段:

<!DOCTYPE html>
<html>
<head>
	<title>jQuery Populate Select From JSON Example</title>
	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
	<h1>Select an Item</h1>
	<select id="items"></select>

	<script>
		$(document).ready(function(){
			$.getJSON("items.json",function(data){
				$.each(data,function(index,item){
					$("#items").append('<option value="'+item.id+'">'+item.name+'</option>');
				});
			});
		});
	</script>
</body>
</html>

以上代码将创建一个下拉菜单,其中包含从 items.json 文件中获取的五个选项。您可以将其修改为符合您的要求的数据源和选项。