Reputation:
I'm working on a dropdown menu where I need to display the provinces and cities in one select tag.
so on load, it will display all the provinces and when I select one province the list will change to cities.
I able to display list of provinces, but I don't know how to display the cities.
I hope you understand me.
thanks.
SAMPLE CODE
var province=[ {
"id": "820000",
"name": "澳门",
"city": [ {
"id": "820001", "name": "澳门"
}
]
}
$(document).ready(function () {
var provinceListItems = '<option selected="selected" value="">省</option>';
var citiesListItems = '<option selected="selected" value="">城市</option>';
for (var i = 0; i < province.length; i++) {
provinceListItems += "<option value='" + province[i].name + "'>" + province[i].name + "</option>";
}
$("#provinceCity").html(provinceListItems);
});
Upvotes: 1
Views: 126
Reputation: 3827
var province=[
{
"id": "820000",
"name": "P1",
"city": [
{
"id": "820001", "name": "C1P1"
},
{
"id": "820002", "name": "C2P1"
},
{
"id": "820003", "name": "C3P1"
}
]
},
{
"id": "830000",
"name": "P2",
"city": [
{
"id": "830001", "name": "C1P2"
},
{
"id": "830002", "name": "C2P2"
},
{
"id": "830003", "name": "C3P2"
}
]
}
];
function loadProvince(){
$("#provinceCity").html("<option value=''>Select province</option>");
for (var i=0; i<province.length; i++){
$("#provinceCity").append("<option value='"+province[i]["id"]+"'>"+province[i]["name"]+"</option>");
}
}
$(document).ready(function(){
$("#clearBtn").hide();
loadProvince();
$("#clearBtn").click(function(){
loadProvince();
});
$("#provinceCity").change(function(){
for (var i=0; i<province.length; i++){
if ($(this).val() == province[i]["id"]){
$("#clearBtn").show();
$("#provinceCity").empty();
var cities = province[i]["city"];
for (var j=0; j<cities.length; j++){
$("#provinceCity").append("<option value='"+cities[j]["id"]+"'>"+cities[j]["name"]+"</option>");
}
}
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="provinceCity">
<option value=''>Select province</option>
</select> <button id="clearBtn">Clear</button>
Upvotes: 1