AngularJS로 구현한 지방자치단체 보조 연계 기능 예시

小云云
풀어 주다: 2018-01-02 15:58:00
원래의
2247명이 탐색했습니다.

이 글에서는 주로 AngularJS에서 구현한 이벤트 모니터링, 응답, 페이지 요소의 동적 운영 등의 시/도 보조 연결 기능을 소개합니다. 또한, 필요한 친구가 참고할 수 있는 기능도 있습니다. .모든 사람에게 도움이 되기를 바랍니다.

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="UTF-8"> 
 <title>www.jb51.net 省市二级联动</title> 
</head> 
<style> 
 *{ 
  margin:0; 
  padding:0; 
 } 
 .ul{ 
  list-style:none; 
  display:inline-block; 
 } 
 .selectOption ul li{ 
  display:inline-block; 
  width:50px; 
  padding:5px; 
 } 
 ul li:hover{ 
  background-color:#59C0F3; 
  color:#fff; 
  cursor:pointer; 
 } 
 .container{ 
  display:inline-block; 
 } 
 dl{ 
  display: inline-block; 
 } 
 dl dt{ 
  display: inline-block; 
 } 
 .container{ 
  position:relative; 
  text-align: left; 
  vertical-align:top; 
 } 
 .selectBoder{ 
  width:150px; 
  height:20px; 
  margin:0 auto; 
  margin-bottom:5px; 
  cursor:pointer; 
  border:1px solid #808080; 
  padding:2px 5px; 
  font-size:14px; 
 } 
 .selectBoder:hover{ 
  border-color:#59C0F3; 
 } 
 .selectOption:before{ 
  width: 0; 
  height: 0; 
  border-bottom: 50px solid #ffffff; 
  border-left: 50px solid transparent; 
  border-right: 50px solid transparent; 
 } 
 .selectOption{ 
  font-size:14px; 
  position:absolute; 
  background-color: #ffffff; 
  z-index:9999; 
  border:1px solid #eee; 
  width:360px; 
  padding:3px 5px; 
  box-shadow: 5px 5px 10px #888888; 
 } 
 .button{ 
  width:30px; 
  height:30px; 
  display: inline-block; 
  background-color:#59C0F3; 
  text-align:center; 
  line-height: 25px; 
  cursor:pointer; 
  font-size:24px; 
  color:#fff; 
  margin:0 5px; 
  border-radius:30px; 
 } 
 .button:hover{ 
  background-color:#12bb16; 
 } 
</style> 
<body ng-app="myApp" ng-controller="myControl"> 
<p ng-repeat = "option in options"> 
<p> 
 <dl> 
  <dd ng-click="choseP($index)" ng-value="false">{{option.province}}</dd> 
  <dt ng-if="option.ifShowProvince" ng-mouseleave="leaveProvince(option)"> 
  <ul> 
   <li ng-repeat = " x in province" ng-value="x.value" ng-click="choseProvince($event.target,option)" data-name="{{x.name}}">{{x.name}}</li> 
  </ul> 
  </dt> 
 </dl> 
</p> 
<p> 
 <dl> 
  <dd ng-click="choseC($index)" ng-value="false">{{option.city}}</dd> 
  <dt ng-if="option.ifShowCity" ng-mouseleave="leaveCity(option)"> 
  <ul> 
   <li ng-repeat = "y in option.cities" ng-value="y.value" ng-click="choseCity($event.target,option)" data-name="{{y.name}}">{{y.name}}</li> 
  </ul> 
  </dt> 
 </dl> 
</p> 
  <span ng-click="addChose($index)">+</span> 
 <span ng-click="deleteChose($index)">-</span> 
</p> 
</p> 
</body> 
<script type="text/javascript" src="../js/jquery-1.8.3.js"></script> 
<script type="text/javascript" src="../js/angular.min.js"></script> 
<script type="text/javascript"> 
 var app = angular.module(&#39;myApp&#39;,[]); 
 app.controller(&#39;myControl&#39;,function($scope){ 
  $scope.ifShowCity = false; 
  $scope.ifShowProvince = false; 
  $scope.options =[{index:"0",ifShowCity:false,ifShowProvince:false,province:"",city:"",cities:""}]; 
  $scope.leaveProvince = function(option){ 
   $.each($scope.options,function(index,item){ 
    if(option == $scope.options[index]){ 
     $scope.optionIndex = index; 
    } 
   }) 
   $scope.options[$scope.optionIndex].ifShowProvince = false; 
  } 
  $scope.leaveCity = function(option){ 
   $.each($scope.options,function(index,item){ 
    if(option == $scope.options[index]){ 
     $scope.optionIndex = index; 
    } 
   }) 
   $scope.options[$scope.optionIndex].ifShowCity = false; 
  } 
  $scope.choseProvince = function(target,option){ 
   $.each($scope.options,function(index,item){ 
    if(option == $scope.options[index]){ 
     $scope.optionIndex = index; 
    } 
   }) 
   $scope.options[$scope.optionIndex].ifShowProvince = false; 
   $scope.options[$scope.optionIndex].province = target.getAttribute("data-name"); 
   $.each($scope.province,function(index,item){ 
    if(item.value == target.getAttribute("value")){ 
     $scope.options[$scope.optionIndex].cities = item.children; 
     } 
    } 
   ) 
  } 
  $scope.choseCity = function(target,option){ 
   $.each($scope.options,function(index,item){ 
    if(option == $scope.options[index]){ 
     $scope.optionIndex = index; 
    } 
   }) 
   $scope.options[$scope.optionIndex].ifShowCity = false; 
   $scope.options[$scope.optionIndex].city = target.getAttribute("data-name"); 
  } 
  function getPrarms(){ 
   return $scope.options; 
  } 
  $scope.sub = function(){ 
   getPrarms(); 
  } 
  $scope.province = 
    [{ 
   name: "湖北省", 
   value: "01", 
   children: [{ 
    name: "武汉", 
    value: "0101" 
   }, { 
    name: "黄冈", 
    value: "0102" 
   }, { 
    name: "荆州", 
    value: "0103" 
   }, { 
    name: "十堰", 
    value: "0104" 
   }, { 
    name: "黄石", 
    value: "0105" 
   }, { 
    name: "鄂州", 
    value: "0106" 
   }, { 
    name: "咸宁市", 
    value: "0107" 
   }, { 
    name: "襄阳市", 
    value: "0108" 
   } 
   ] 
  },{ 
   name: "广东省", 
   value: "02", 
   children: [{ 
    name: "广东", 
    value: "0201" 
   }, { 
    name: "深圳", 
    value: "0202" 
   }, { 
    name: "佛山", 
    value: "0203" 
   }, { 
    name: "惠州", 
    value: "0204" 
   }, { 
    name: "东莞", 
    value: "0205" 
   }] 
   },{ 
    name: "河北省", 
    value: "03", 
    children: [{ 
     name: "北京", 
     value: "0301" 
    }, { 
     name: "邯郸", 
     value: "0302" 
    }, { 
     name: "邢台", 
     value: "0303" 
    }, { 
     name: "保定", 
     value: "0304" 
    }, { 
     name: "秦皇岛", 
     value: "0305" 
    } 
    ]} 
     ] 
  $scope.choseP = function($index){ 
   $scope.options[$index].ifShowProvince = !$scope.options[$index].ifShowProvince; 
   $scope.options[$index].ifShowCity = false; 
  } 
  $scope.choseC = function($index){ 
   $scope.options[$index].ifShowCity = !$scope.options[$index].ifShowCity; 
   $scope.options[$index].ifShowProvince = false; 
  } 
  $scope.addChose = function($index){ 
   if($scope.options.length < 10){ 
    $scope.options.splice($scope.options.length,0,{ //从最后面添加内容 
     index:$scope.options.length,ifShowCity:false,ifShowProvince:false 
    }); 
    $scope.canDelete = true; 
   }else{ 
    $scope.canAdd = false; 
   } 
  } 
  $scope.deleteChose = function($index){ 
   if($scope.options.length >1){ 
    $scope.options.splice($index,1); //从当前行删除。 
   } 
   if($index == 1){ 
    $scope.canDelete = false; 
   } 
  } 
 }); 
</script> 
</html>
로그인 후 복사

관련 권장사항:

jquery ajax의 2차 연결 효과를 구현하는 방법

등록 페이지의 jq 2차 연결을 달성하려면

select select 2차 연결 효과를 구현하는 방법

위 내용은 AngularJS로 구현한 지방자치단체 보조 연계 기능 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿