• angular $http 与form表单的select


    产品线 产品 版本 代码是联动关系

    ng-model 绑定数据 设置默认值
    ng-options 填充option
    ng-change 选项变化时的操作
    截图如下:

    
    

    html

      1 <!DOCTYPE html>
      2 <html ng-app="a2_15">
      3 <head>
      4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
      5     <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
      6     <meta content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
      7     <title>使用指令复制元素</title>
      8     <style type="text/css">
      9         body {
     10             font-size: 14px;
     11         }
     12 
     13         ul {
     14             list-style-type: none;
     15             width: 400px;
     16         }
     17 
     18         ul li {
     19             float: left;
     20             padding: 5px;
     21         }
     22 
     23         ul li span {
     24             float: left;
     25             width: 50px
     26         }
     27     </style>
     28     <script src="js/angular.min.js"></script>
     29 
     30 </head>
     31 <body>
     32 
     33 <form name="temp_form" ng-controller="c2_15">
     34     <div>
     35         产品线:
     36         <select ng-model="a"
     37                 ng-options="v.id as v.name for v in a_data"
     38                 ng-change="a_change(a)">
     39             <option value="">--please select--</option>
     40         </select>
     41     </div>
     42 
     43     <div>
     44         产品:
     45         <select ng-model="b"
     46                 ng-options="v.id as v.name for v in b_data"
     47                 ng-change="b_change(b)">
     48             <option value="">--please select--</option>
     49         </select>
     50     </div>
     51 
     52     <div>
     53         版本:
     54         <select ng-model="c"
     55                 ng-options="v.id as v.name for v in c_data"
     56                 ng-change="c_change(c)">
     57             <option value="">--please select--</option>
     58         </select>
     59     </div>
     60 
     61     <div>
     62         代码:
     63         <select ng-model="d"
     64                 ng-options="v.id as v.name for v in d_data"
     65                 ng-change="d_change(d)">
     66             <option value="">--please select--</option>
     67         </select>
     68     </div>
     69 </form>
     70 
     71 <script type="text/javascript">
     72     var a2_15 = angular.module('a2_15', []);
     73     a2_15.controller('c2_15', ['$scope','$http', function ($scope, $http) {
     74         // 默认值
     75         $scope.a = "";
     76         $scope.b = "";
     77         $scope.c = "";
     78         $scope.d = "";
     79 
     80         // 填充选项
     81         // 填充a
     82         $http({
     83             method:'POST',
     84             url:'data/zz.php',
     85             params:{
     86                 id:"",
     87                 type:"pl"
     88             }
     89         }).success(function (data,status,headers,config) {
     90             $scope.a_data=data;
     91 
     92             // 填充b
     93             $http({
     94                 method:'POST',
     95                 url:'data/zz.php',
     96                 params:{
     97                     id:$scope.a_data[0].id,
     98                     type:"p"
     99                 }
    100             }).success(function (data,status,headers,config) {
    101                 $scope.b_data=data;
    102 
    103                 // 填充c
    104                 $http({
    105                     method:'POST',
    106                     url:'data/zz.php',
    107                     params:{
    108                         id:$scope.b_data[0].id,
    109                         type:"r"
    110                     }
    111                 }).success(function (data,status,headers,config) {
    112                     $scope.c_data=data;
    113 
    114                     // 填充d
    115                     $http({
    116                         method:'POST',
    117                         url:'data/zz.php',
    118                         params:{
    119                             id:$scope.c_data[0].id,
    120                             type:"c"
    121                         }
    122                     }).success(function (data,status,headers,config) {
    123                         $scope.d_data=data;
    124                     });
    125                 });
    126             });
    127         });
    128 
    129         // change监听
    130         $scope.a_change=function (a) {
    131             // 填充b
    132             $http({
    133                 method:'POST',
    134                 url:'data/zz.php',
    135                 params:{
    136                     id:$scope.a,
    137                     type:"p"
    138                 }
    139             }).success(function (data,status,headers,config) {
    140                 $scope.b="";
    141                 $scope.b_data=data;
    142 
    143                 // 填充c
    144                 $http({
    145                     method:'POST',
    146                     url:'data/zz.php',
    147                     params:{
    148                         id:$scope.b_data[0].id,
    149                         type:"r"
    150                     }
    151                 }).success(function (data,status,headers,config) {
    152                     $scope.c="";
    153                     $scope.c_data=data;
    154 
    155                     // 填充d
    156                     $http({
    157                         method:'POST',
    158                         url:'data/zz.php',
    159                         params:{
    160                             id:$scope.c_data[0].id,
    161                             type:"c"
    162                         }
    163                     }).success(function (data,status,headers,config) {
    164                         $scope.d="";
    165                         $scope.d_data=data;
    166                     });
    167                 });
    168             });
    169         };
    170         $scope.b_change=function (b) {
    171             // 填充c
    172             $http({
    173                 method:'POST',
    174                 url:'data/zz.php',
    175                 params:{
    176                     id:$scope.b,
    177                     type:"r"
    178                 }
    179             }).success(function (data,status,headers,config) {
    180                 $scope.c="";
    181                 $scope.c_data=data;
    182 
    183                 // 填充d
    184                 $http({
    185                     method:'POST',
    186                     url:'data/zz.php',
    187                     params:{
    188                         id:$scope.c_data[0].id,
    189                         type:"c"
    190                     }
    191                 }).success(function (data,status,headers,config) {
    192                     $scope.d="";
    193                     $scope.d_data=data;
    194                 });
    195             });
    196         };
    197         $scope.c_change=function (c) {
    198             $http({
    199                 method:'POST',
    200                 url:'data/zz.php',
    201                 params:{
    202                     id:$scope.c,
    203                     type:"c"
    204                 }
    205             }).success(function (data,status,headers,config) {
    206                 $scope.d="";
    207                 $scope.d_data=data;
    208             });
    209         };
    210         $scope.d_change=function (d) {
    211         }
    212     }]);
    213 
    214 </script>
    215 </body>
    216 </html>
     

      php

    <?php
    header("Content-Typent:text/json");
    
    if($_GET["type"]=="pl"){
    	$stulist=array(
    		array('id'=>"1" ,'name'=>'产品线1' ),
    		array('id'=>"2" ,'name'=>'产品线2' )
    	);
    	echo json_encode($stulist);
    }else if($_GET["type"]=="p"){
    	if($_GET["id"]=="1"){
    		$stulist=array(
    			array('id'=>"1" ,'name'=>'产品1' ),
    			array('id'=>"2" ,'name'=>'产品2' )
    		);
    		echo json_encode($stulist);
    	}else{
    		$stulist=array(
    			array('id'=>"1" ,'name'=>'产品3' ),
    			array('id'=>"2" ,'name'=>'产品4' )
    		);
    		echo json_encode($stulist);
    	}
    }else if($_GET["type"]=="r"){
    	if($_GET["id"]=="1"){
    		$stulist=array(
    			array('id'=>"1" ,'name'=>'版本1' ),
    			array('id'=>"2" ,'name'=>'版本2' )
    		);
    		echo json_encode($stulist);
    	}else{
    		$stulist=array(
    			array('id'=>"1" ,'name'=>'版本3' ),
    			array('id'=>"2" ,'name'=>'版本4' )
    		);
    		echo json_encode($stulist);
    	}
    }else if($_GET["type"]=="c"){
    	if($_GET["id"]=="1"){
    		$stulist=array(
    			array('id'=>"1" ,'name'=>'代码1' ),
    			array('id'=>"2" ,'name'=>'代码2' )
    		);
    		echo json_encode($stulist);
    	}else{
    		$stulist=array(
    			array('id'=>"1" ,'name'=>'代码3' ),
    			array('id'=>"2" ,'name'=>'代码4' )
    		);
    		echo json_encode($stulist);
    	}
    }else{
    	$stulist=array(
    		array('id'=>"1" ,'name'=>'代码3' ),
    		array('id'=>"2" ,'name'=>'代码4' )
    	);
    	echo json_encode($stulist);
    }
    ?>
    

      

  • 相关阅读:
    洛谷P3275 [SCOI2011]糖果
    2018年12月30&31日
    洛谷P4114 Qtree1
    洛谷P4116 Qtree3
    洛谷P4315 月下“毛景树”
    洛谷P1505 [国家集训队]旅游
    洛谷P2253 好一个一中腰鼓!
    CF616D Longest k-Good Segment
    洛谷P3979 遥远的国度
    洛谷P2486 [SDOI2011]染色
  • 原文地址:https://www.cnblogs.com/zyjzz/p/5679138.html
Copyright © 2020-2023  润新知