加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJs select绑定数字类型问题

发布时间:2020-12-17 09:40:25 所属栏目:安全 来源:网络整理
导读:一、AngularJs中select绑定ng-model数字类型绑定问题 使用ng-model绑定select的时候默认是string字符串,如果指定的number值会绑定失败 举例说明: body ng-app='module' ng-controller="myCtrl" 请选择性别: select name="sex" ng-model='sex' option valu

一、AngularJs中select绑定ng-model数字类型绑定问题

使用ng-model绑定select的时候默认是string字符串,如果指定的number值会绑定失败

举例说明:

<body ng-app='module' ng-controller="myCtrl">
        请选择性别:
        <select name="sex" ng-model='sex' > 
            <option value="">请选择</option>
            <option value="1">男</option>
            <option value="2">女</option>
        </select>
        <button type="" ng-click="alter();">修改</button>
    </form>
    <script>
    (function() {
        'use strict';
       var app= angular.module('module',[
        ]);
       app.controller('myCtrl',function($scope){
           $scope.sex="1"; //特别说明,此处指定的为字符串,如果是number类型则绑定不成功
          console.info($scope);
          $scope.alter=function(){
              $scope.sex="2";
               console.info($scope);
          }
       });
    })();
    </script

指定数值类型,绑定失败
app.controller('myCtrl',function($scope){
    $scope.sex=1; //特别说明,此处指定的为字符串,如果是number类型则绑定不成功
    $scope.alter=function(){
        $scope.sex=2;
        console.info($scope);
    }
});

解决方案:

如果需要指定number类型的值,对于select的绑定使用ng-options方式

请选择性别:
<select name="sex" ng-model='sex'  ng-options='x.id as x.name for x  in [{id:1,name:"男"},{id:2,name:"女"}]'> 
<option value="">请选择</option>
</select>
<button type="" ng-click="alter();">修改</button>

如果不一定非得number类型,在修改$scope的时候指定string类型就行了。


更多参考:
AngularJs ng-options

AngularJs ng-change事件/指令

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读