美文网首页
城市选择

城市选择

作者: 憨猜猜 | 来源:发表于2019-02-14 17:39 被阅读0次

例子1

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <select name="province" id="province">  
        </select>
        <select name="city" id="city">
        </select>
        
        <script type="text/javascript" src="js/jquery.min.js"></script>
        <script type="text/javascript">
            var provinceArray = [
                {name:'四川省', citys:['成都市','德阳市', '绵阳市', '巴中市', '宜宾市', '达州市']},
                {name:'云南省', citys:['昆明', '漓江', '玉溪', '大理', '西双版纳']},
                {name:'辽宁省', citys:['沈阳', '大连', '铁岭', '盘锦']}
            ]
            
            //省
            provinceNode = $('#province')
            for(i=0;i<provinceArray.length;i++){
                provinceObj = provinceArray[i]
                tempNode = $('<option>'+provinceObj.name+'</option>')
                provinceNode.append(tempNode)
            }
            //市
            cityNode = $('#city')
            cityNode.attr('selected')
            //设置默认显示的市
            for(i=0;i<provinceArray[0].citys.length;i++){
                var cityName = provinceArray[0].citys[i]
                var tempNode = $('<option>'+cityName+'</option>')
                cityNode.append(tempNode)
            }
            
            //注意: 下拉菜单切换不同的选项对应的事件是'onchange', 
            //通过获取下拉菜单的value来获取最新选中的选项的值
            provinceNode.on('change', function(evt){
                //获取选中的值
                var provinceName = $(this).val()
                for(i=0;i<provinceArray.length;i++){
                    var provinceObj = provinceArray[i]
                    //获取当前选中的省
                    if(provinceObj.name == provinceName){
                        //选中的省对应的城市
                        var cityArray = provinceObj.citys
                        //清空原来的内容
                        cityNode.empty()
                        //创建新的城市对应的option
                        for(j=0;j<cityArray.length;j++){
                            var cityName = cityArray[j]
                            var tempNode = $('<option>'+cityName+'</option>')
                            cityNode.append(tempNode)
                        }
                        
                        break
                    }
                }
            })
            
            
            
            
            
        </script>
    </body>
</html>

image.png

例子2

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/city.js"></script>
        <script type="text/javascript" src="js/jquery.min.js"></script>
    </head>
    <body>
        <select name="" id="省">
        </select>
        <select name="" id="市">
        </select>
        <select name="" id="县">
        </select>
        
        <script type="text/javascript">
            //获取全局下拉菜单标签
            var provinceNode = $('#省')
            var cityNode = $('#市')
            var countyNode = $('#县')
            
            //=============1.默认显示=============
            //创建所有的省对应的标签
            for(var provinceName in cities){
                console.log(provinceName)
                var provinceOptionNode = $('<option>'+provinceName+'</option>')
                provinceNode.append(provinceOptionNode)
            }
            //创建市默认对应的标签
            for(var cityName in cities['北京']){
                var cityOptionNode = $('<option>'+cityName+'</option>')
                cityNode.append(cityOptionNode)
            }
            
            //创建县默认对应的标签
            for(var index in cities['北京']['北京']){
                var countyOptionNode = $('<option>'+cities['北京']['北京'][index]+'</option>')
                countyNode.append(countyOptionNode)
            }
            
            
            //==============点击切换=============
            //1.省下拉菜单添加事件
            provinceNode.on('change', function(){
                //获取选中的值
                var provinceSelectedValue = $(this).val()
                //根据选中的省获取对应的市信息
                var cityInfo = cities[provinceSelectedValue]
                
                //1.更新市信息
                //清空市下拉菜单
                cityNode.empty()
                //创建选中的省对应的市的标签
                for(var cityName in cityInfo){
                    var cityOptionNode = $('<option>'+cityName+'</option>')
                    cityNode.append(cityOptionNode)
                }
                
                //2.更新县信息
                countyNode.empty()
                var countyArray = cityInfo[cityNode.val()]
                for(var index in countyArray){
                    var countyName = countyArray[index]
                    var countyOptionNode = $('<option>'+countyName+'</option>')
                    countyNode.append(countyOptionNode)
                }
                
            })
            
            //2.市下拉菜单添加事件
            cityNode.on('change', function(){
                var citySelectedVale = $(this).val()
                var countyArray = cities[provinceNode.val()][citySelectedVale]
                countyNode.empty()
                for(index in countyArray){
                    var countyName = countyArray[index]
                    var countyOptionNode = $('<option>'+countyName+'</option>')
                    countyNode.append(countyOptionNode)
                }
                
            })
            
            
            
            
        </script>
    </body>
</html>


image.png

相关文章

  • 城市选择

    参考网上一直使用的城市数据,我创建了具有两个表视图的城市选择:第一个表为省份,第二个表是选择某省后的该省下的城市。...

  • 城市选择

    参考: 仿美团城市选择 关于城市选择原理的这篇不错

  • 城市选择

      在开发O2O相关应用的时候,选择所在城市这个东西肯定不会少。个人感觉美团的城市选择用户体验更好,就模仿了美团的...

  • 城市选择

    例子1 例子2

  • 城市定位/城市选择

    本文旨在为大家提供“干货”,在文章结尾会提供Demo下载地址。本文内容简单,但实用价值高,有需要的自取,并关注我!...

  • 城市的选择~

    如果你想自己掌控生活,而不是任由其他人来“侵犯你”那么请你听我说一点我的心里话: 如果你在大城市打拼,请你努力的存...

  • 城市的选择

    现阶段社会,有时候静下来会想着大城市的生活时怎样的,看着你们忙忙碌碌,朝九晚五的日子从来都只是一个梦想。从更多的社...

  • 城市的选择

    曾经,从一个小乡村来到一线城市读书,刚到之时,还真不大适应,人来人往,车水马龙,节奏也快,空气不大好……当时在来的...

  • uniapp 城市选择

    先上图 Github源码地址 使用方法 插件的方式使用: 插件文件:ss-select-city.vue内容: 城...

  • 如何选择城市?

    1.刚毕业,如何选择一个城市? 我认为:1.分阶段;2.看自己想要什么; 海明威说过一句话: “如果你足够幸运,年...

网友评论

      本文标题:城市选择

      本文链接:https://www.haomeiwen.com/subject/noqyeqtx.html