select实现三级联动

 一、select标签入门


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />
        <script src="js/bootstrap.bundle.min.js" type="text/javascript"></script>
        <script src="js/bootstrap.min.js" type="text/javascript"></script>
        <script src="js/jquery.min.js" type="text/jscript"></script>
        <link href="css/bootstrap-grid.min.css" rel="stylesheet" />
        <link href="css/bootstrap-reboot.min.css" rel="stylesheet" />
        <link href="css/bootstrap.min.css" rel="stylesheet" />
        <title></title>

        <script>
            
            var  arr=["C/C++","JAVA","PHP","Javascript",".Net"];
            
            $(function() {
                var  $selectParent=$("#querycourse");
                for(var i=0;i<arr.length;i++) {
                       var $option=$("<option>"+arr[i]+"</option>");   
                       $option.val(arr[i]);
                       $selectParent.append($option);
                }
             
            });
 
     
            
            function getListByOption() {
                var $select = $("#queryItem");
                $select.empty();   //置空避免重复加载
                var  $selectChild = $("#queryChildItem");
                $selectChild.empty();
                for(var i = 0; i < 10; i++) {
                        var  name=$("#querycourse").val()+"的第"+i+"课";
                        var $option=$("<option>"+name+"</option>");   
                        $option.appendTo($select);
                      
                }
                getListByChildOption();
             }
        
        
            function getListByChildOption() {
                   var  $selectChild = $("#queryChildItem");
                        $selectChild.empty();
                       
                    for(var j=0;j<10;j++){
                            var  nameChild=$("#queryItem").val()+"第"+j+"节";
                            var $optionChild=$("<option>"+ nameChild+"</option>");   
                            $selectChild.append($optionChild);    
                        }     
            }
            
        
        </script>

    </head>

    <body>
        
        <div style="margin: 20px;">
            
        <select id="querycourse" class="selectpicker" data-live-search="true" value="" onchange="getListByOption()">
            <option data-tokens="ketchup mustard" value="">请选择课程名称</option>
        </select>

        <select id="queryItem" class="selectpicker" data-live-search="true" value=""  onchange="getListByChildOption()">
        <option data-tokens="ketchup mustard" value="">请选择课程课时</option>
        </select>
        <select id="queryChildItem" class="selectpicker" data-live-search="true" value="">
            <option data-tokens="ketchup mustard" value="">请选择课程节次</option>
        </select>
            
        </div>
    </body>

</html>

二、省市区三级联动效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />
		<script src="js/bootstrap.bundle.min.js" type="text/javascript"></script>
		<script src="js/bootstrap.min.js" type="text/javascript"></script>
		<script src="js/jquery.min.js" type="text/jscript"></script>
		<link href="css/bootstrap-grid.min.css" rel="stylesheet" />
		<link href="css/bootstrap-reboot.min.css" rel="stylesheet" />
		<link href="css/bootstrap.min.css" rel="stylesheet" />
		<title></title>

		<script>
			var provinceArr = new Array();
			var cityArr;
			var $selectProvince;
			var $selectCounty;
			var $selectCity;

			$(function() {

				$selectProvince = $("#queryProvince");
				$selectCounty = $("#queryCounty");
				$selectCity = $("#queryCity");
				getJson();

			});

			function getJson() {
                                 //加载本地的json文件
				$.getJSON("js/address.json", function(data) {

					$.each(data, function(index, info) {

						provinceArr[index] = info;

						var $option = $("<option>" + info.area_name + "</option>");

						$option.val(index);

						$option.appendTo($selectProvince);

					});

				});

			}

			function showCities() {
				cityArr = new Array();
				var cityJson = provinceArr[$selectProvince.val()].city //获取当前省的所有市区的数据
			    $selectCity.empty();
				$selectCounty.empty();
				$.each(cityJson, function(i, data) {
					cityArr[i] = data;
					var $option = $("<option>" + data.area_name + "</option>");
					$option.val(i);
					$selectCity.append($option);
				});
				showCounty();
			}

			function showCounty() {
                $selectCounty.empty();
				var countyJson = cityArr[$("#queryCity").val()].district //获取当前市的所有区的数据
            	$.each(countyJson, function(i, data) {
                    var $option = $("<option>" + data.area_name + "</option>");
					$option.val(i);
					$selectCounty.append($option);

				});

			}
		</script>
	</head>

	<body>

		<div style="margin: 20px;">

			<select id="queryProvince" class="selectpicker" data-live-search="true" value="" onchange="showCities()">
				<option data-tokens="ketchup mustard" value="-1">请选择省</option>
			</select>

			<select id="queryCity" class="selectpicker" data-live-search="true" value="" onchange="showCounty()">
				<option data-tokens="ketchup mustard" value="">请选择市</option>
			</select>

			<select id="queryCounty" class="selectpicker" data-live-search="true" value="">
				<option data-tokens="ketchup mustard" value="">请选择县区</option>
			</select>

		</div>
	</body>

</html>

  

  

                       

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值