【发布时间】:2016-11-05 03:39:39
【问题描述】:
我的 HTML 中有一个带有数据属性的列表项。当用户单击其中一个列表项时,我想在另一个 ul 列表中显示/附加所选城市的郊区列表。我正在使用 ajax。
<ul id="cities">
<li data-city="city-one">City One</li>
<li data-city="city-two">City Two</li>
<li data-city="city-three">City Three</li>
</ul>
<ul id="suburbs">
<ul>
这是我的 JSON 文件。
{
"city-one": [{
"city one suburb 1": [
{"name": "city one suburb 1 name 1"},
{"name": "city one suburb 1 name 2"},
{"name": "city one suburb 1 name 3"}
],
"city one suburb 2": [
{ "name": "city one suburb 2 name 1"},
{"name": "city one suburb 2 name 2"},
{"name": "city one suburb 2 name 3"}],
"city one suburb 3": [
{"name": "city one suburb 3 name 1"},
{"name": "city one suburb 3 name 2"},
{"name": "city one suburb 3 name 3"}
]
}],
"city-two": [{
"city two suburb 1": [
{"name": "city two suburb 1 name 1"},
{"name": "city two suburb 1 name 2"},
{"name": "city two suburb 1 name 3"}
],
"city two suburb 2": [
{"name": "city two suburb 2 name 1"},
{"name": "city two suburb 2 name 2"},
{"name": "city two suburb 2 name 3"}
],
"city two suburb 3": [
{"name": "city two suburb 3 name 1"},
{"name": "city two suburb 3 name 2"},
{"name": "city two suburb 3 name 3"}
]
}],
"city-three": [{
"city three suburb 1": [
{"name": "city three suburb 1 name 1"},
{"name": "city three suburb 1 name 2"},
{"name": "city three suburb 1 name 3"}
],
"city three suburb 2": [
{"name": "city three suburb 2 name 1"},
{"name": "city three suburb 2 name 2"},
{"name": "city three suburb 2 name 3"}
],
"city three suburb 3": [
{"name": "city three suburb 3 name 1"},
{"name": "city three suburb 3 name 2"},
{"name": "city three suburb 3 name 3"}
]
}]
}
这是我的 js 文件。
var getData = function(){
$.get( 'locations.json', function( data ) {
//loop through selected city object and show suburb names
});
};
var selectCity = function(){
var currentCity;
currentCity = $(this).attr('data-city');
//console.log(currentCity);
getData();
};
$('#cities li a').on('click', selectCity);
例如: 如果用户单击第一个#cities 列表项,它应该在#suburbs ul 下显示。
【问题讨论】: