angular.js - Mengapa ng-change tidak mencetuskan apabila sudut memberikan nilai untuk dipilih?
巴扎黑
巴扎黑 2017-05-15 16:59:57
0
4
859

1. Kod HTML adalah seperti berikut:

<!-- 这个是街道 -->
<select name="jd" ng-model="wgy.jd" class="form-control input-sm" ng-options="jd.code as jd.label for jd in bmOfJd" ng-change="getSqBm(wgy.jd)">
    <option value="">--请选择--</option>
</select>
<!-- 这个是社区 -->
<select name="sq" ng-model="wgy.sq" class="form-control input-sm" ng-options="sq.code as sq.label for sq in bmOfSq">
   <option value="">--请选择--</option>
 </select>

2. Kod JS adalah seperti berikut:

//如果选择街道,去取出社区
$scope.getSqBm = function(jd){
        BmService.getXzqh(jd)
            .then(function(data){
                $scope.bmOfSq = data;
            });
    };

3. Soalan: Kerana ini adalah perkara biasa untuk halaman baharu dan halaman pertanyaan, apabila mengedit halaman, saya menetapkan nilai kepada jalan wgy.jd, tetapi ini tidak akan mencetuskan perubahan jalan mencetuskannya?

巴扎黑
巴扎黑

membalas semua(4)
曾经蜡笔没有小新

Terima kasih atas jawapan anda. Saya menemui cara
Selepas memberikan nilai kepada wgy.jd, anda perlu memanggil kaedah ng-change getSqBm($scope.wgy.jd).
Dengan cara ini ia akan mencetuskan ng-berubah! ! !
Berikut ialah arahan terperinci

刘奇

Adalah lebih baik menggunakan jam tangan untuk mencetuskan kaedah dengan memerhati perubahan dalam data

漂亮男人

http://stackoverflow.com/questions/14386570/getting-the-ng-object-selected-with-ng-change

我想大声告诉你

HTML

<select ng-model="wgy.jd"
        ng-change="getSqBm()">
    <option value="">--请选择--</option>
    <option ng-repeat="jd in jds" value="{{jd.id}}">{{jd.name}}</option>
</select>
<select ng-model="wgy.sq">
    <option value="">--请选择--</option>
    <option ng-repeat="sq in sqs" value="{{sq.id}}">{{sq.name}}</option>
</select>

SKRIP

angular.module('myApp', [])
        .controller('MyCtrl', function ($scope) {
            $scope.wgy = {
                jd: '',
                sq: ''
            }

            $scope.jds = [
                {
                    id: 1,
                    name: '街道1',
                    sq: [
                        {
                            id: 1,
                            name: '街道1-社区1'
                        },
                        {
                            id: 2,
                            name: '街道1-社区2'
                        }
                    ]
                },
                {
                    id: 2,
                    name: '街道2',
                    sq: [
                        {
                            id: 1,
                            name: '街道2-社区1'
                        },
                        {
                            id: 2,
                            name: '街道2-社区2'
                        }
                    ]
                }
            ];

            $scope.sqs = [];

            $scope.getSqBm = function(){
                if(!$scope.wgy.jd){
                    $scope.sqs = [];
                    return ;
                }

                $scope.sqs = $scope.jds.filter(function(jd){
                    return jd.id == $scope.wgy.jd;
                })[0].sq;
            }
        });
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan