> 웹 프론트엔드 > JS 튜토리얼 > AngularJS로 구현한 지방자치단체 보조 연계 기능 예시

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

<!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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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