jquery - 使用下拉列表 Jquery .ajax() 方法动态加载表
问题描述
我通过此处发布的其他一些类似的问题了解了 jQuery。我的问题是我有一个可行的下拉列表,列出了世界 7 大洲。一旦选择了一个大陆,它应该显示该大陆下面的国家。这是我遇到麻烦的地方:
jsonTest.html
<html>
<head><title>JSON jQuery AJAX</title></head>
<body>
<div>Users </div>
<select id="sel_user">
</select>
<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="myscript.js" type="text/javascript"></script>
</body>
</html>
获取国家/地区.php
<?php
require_once('pdoDB.class.php');
$countryID = $_POST['countryID'];
//$countryID = "EU";
//echo $countryID;
$db = pdoDB::getConnection();
$country_arr = array();
$sql = "SELECT Name,SurfaceArea
FROM w_country WHERE Continent='".$countryID."'";
$stmt = $db->query($sql);
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$name = $row['Name'];
$surfaceArea = $row['SurfaceArea'];
$country_arr[] = array("name" => $name, "surfaceArea" => $surfaceArea);
echo json_encode($country_arr);
}
?>
myscript.js
$(document).ready( function() {
$.getJSON( "ajax1.php", function(obj) {
$.each(obj, function(key, value) {
// append("<li>"+ value.Name +
// "</li></br>");
$("#sel_user").
append("<option value='"+value.Id+"'>"
+value.Name+"</option>");
});
});
$("#sel_user").change(function(){
var Id = $(this).val();
alert(Id);
$.ajax({
url: 'getCountry.php',
type: 'post',
data: {countryID:Id},
dataType: 'json',
success:function(response){
var len = response.length;
$("#sel_user").empty();
for( var i = 0; i<len; i++){
var id = response[i]['name'];
var area = response[i]['surfaceArea'];
$("#sel_user").append("<li>heheh</li>");
}
}
});
});
});
我可以在下拉列表中显示各大洲,但无法将国家 ID 传递到 php 页面以显示国家详细信息。
解决方案
推荐阅读
- mapbox - 如何使用 csv2geojson 数据添加标记而不是圆圈
- python - 如何在没有 IronPython 的情况下将 C#(winforms 应用程序)、当前文本框文本传递给 Python 变量
- spring-data-jpa - QueryDSL 表达式正在抛出 *java.lang.UnsupportedOperationException: null* 异常
- c++ - 如何预编译不以 .h 结尾的 C++ 头文件
- java - 无法转换名称为 org.apache.hadoop.fs.FileSystem$Cache 的类。原因:org.apache.hadoop.fs.FileSystem$Cache$Key 类被冻结
- c# - Microsoft Visual Studio 显示“Table 一词附近使用了不正确的语法”
- c# - 在 .Net 中使用 Web API 和 Windows 应用程序上传文件
- ef-code-first - ef core 一对多共享子表
- c# - 无法构建 Uno Platform UWP 模板项目
- selenium - 在 Flutter Web 应用中使用 Selenium 浏览器测试的策略