JS实现二级联动

onchange 事件


<body>
    <select id="province" onchange="func1()">
        <option value="shandong">山东</option>
        <option value="hebei">河北</option>
        <option value="beijing">北京</option>
    </select>
 
</body>
<script> function func1(){
     var pro = document.getElementById("province"); console.log(pro.value) } </script>

使用字典添加数据


一级数据显示

<body>
    <select id="province" >
    </select>
 
</body>
<script> data = {
    "广东省":["广州","佛山"],"北京":["海淀","廊坊"], "海南省":["三亚","海口"]}; var pro = document.getElementById("province"); for (var i in data){
     var option_pro = document.createElement("option"); option_pro.innerHTML=i; pro.appendChild(option_pro); } </script>

二级联动

<body>
    <select id="province" onchange="func1(this)" >
    </select>
    <select id="city"></select>
</body>
<script> data = {
    "广东省":["广州","佛山"],"北京":["海淀","廊坊"], "海南省":["三亚","海口"]}; var pro = document.getElementById("province"); var city = document.getElementById("city"); // 省份 for (var i in data){
     var option_pro = document.createElement("option"); option_pro.innerHTML=i; pro.appendChild(option_pro); } function func1(self){
     //console.log((self.options[self.selectedIndex]).innerHTML); //选择的省份 var choice = (self.options[self.selectedIndex]).innerHTML; var options = city.children; // 必须清掉每个option属性,否则省份切换的时候地区不会跟切换 for (var k=0; k<options.length; k++){
     city.removeChild(options[k--]); } // 显示地区 for (var i in data[choice]){
     var option_city = document.createElement("option"); option_city.innerHTML = data[choice][i]; city.appendChild(option_city); } } </script>

全部评论

相关推荐

好在哪里了?我请问了?
_hengheng:很好啊,我看旁边同事都入职了都有工作
点赞 评论 收藏
分享
04-28 22:33
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
北漂的牛马人:211佬,包进的,可能是系统问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务