搜索

首页  >  问答  >  正文

angular.js - angular 为select赋值时为什么不会触发ng-change?

1、HTML代码如下:

<!-- 这个是街道 -->
<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、JS代码如下:

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

3、问题:因为我这个在新增页和查询页公用,所以当编辑页的时候,我给街道wgy.jd赋值,但是这样是不会触发街道ng-change的,我怎样才能触发ng-change呢?

巴扎黑巴扎黑2744 天前837

全部回复(4)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:01:57

    谢谢各位的回答,我找到方法了
    就是给wgy.jd赋值后要手动调用ng-change的方法getSqBm($scope.wgy.jd),
    这样他就会触发街道的ng-change了!!!
    这里有详细说明

    回复
    0
  • 怪我咯

    怪我咯2017-05-15 17:01:57

    最好还是用 watch 做吧 用观察数据的变动触发某个方法来做

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-15 17:01:57

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

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 17:01:57

    HTML

    雷雷

    脚本

    雷雷

    回复
    0
  • 取消回复