【发布时间】:2021-03-18 22:35:49
【问题描述】:
我目前正在研究动态相关下拉菜单。我想要一个侧边栏,每个下拉列表都取决于它上面的那个,所以你根据你的选择,正确的数据将显示在下一个选择中。它应该是国家 -> 年 -> 条款 -> 电影。我不知道为什么我的数据不会从 json 文件中检索数据。我是编程新手,因此我们将不胜感激。
Json 文件(moviessimple.js)格式是这样的:
{
"term": "2020W",
"Year": 2018,
"link": "https://www.imdb.com/title/tt6342440",
"title": "Funan",
"country": "France"
},
{
"term": "2020W",
"Year": 2017,
"link": "https://www.imdb.com/title/tt6516966",
"title": "And Then They Came for Us",
"country": "United States"
},
{
"term": "2020W",
"Year": 2019,
"link": "https://www.imdb.com/title/tt6751668",
"title": "Parasite",
"country": "South Korea"
},
现在,我的 HTML 文件:
<!DOCTYPE html>
<html>
<head>
<title>Test2</title>
<script src="CountryPoints.js" type="text/javascript"></script>
<script src="moviessimple.js"></script>
</head>
<body>
<br /><br />
<div class="container">
<div>
<select name="country" id="country" class="form-control input-lg">
<option value="">Select country</option>
</select>
<br /><br />
<select name="Year" id="Year" class="form-control input-lg">
<option value="">Select year</option>
</select>
<br /><br />
<select name="title" id="title" class="form-control input-lg">
<option value="">Select movies</option>
</select>
</div>
</div>
<script>
$(document).ready(function(){
load_json_data('country');
function load_json_data(country, Year)
{
var html_code = '';
$.getJSON('moviessimple.js', function(data){
html_code += '<option value="">Select '+country+'</option>';
$.each(data, function(key, value){
if(country == 'country')
{
if(value.Year == '')
{
html_code += '<option value="'+value.country+'">'+value.title+'</option>';
}
}
else
{
if(value.Year == Year)
{
html_code += '<option value="'+value.country+'">'+value.title+'</option>';
}
}
});
$('#'+country).html(html_code);
});
}
$(document).on('change', '#country', function(){
var country_id = $(this).val();
if(country_id != '')
{
load_json_data('Year', country_id);
}
else
{
$('#Year').html('<option value="">Select year</option>');
$('#title').html('<option value="">Select movies</option>');
}
});
$(document).on('change', '#Year', function(){
var Year_id = $(this).val();
if(Year_id != '')
{
load_json_data('title', Year_id);
}
else
{
$('#title').html('<option value="">Select movies</option>');
}
});
});
</script>
</body>
</html>
【问题讨论】:
-
是你发布的moviessimple.js这个文件的全部内容还是有别的。乍一看,JSON 文件似乎无效,因为它缺少封闭的 [ 和 ]。
标签: javascript html jquery json dropdown