NgModel作为Kendo DropDownList中的数字

时间:2016-11-15 10:07:08

标签: angularjs kendo-ui

我的数据源包含具有Id(数字)和名称(字符串)的项目。使用KendoDropDownList时,如何使用数字类型的ngModel值?

实施例 http://dojo.telerik.com/IpUYo

1 个答案:

答案 0 :(得分:0)

如果您需要将数字作为ng-model的选定值。

您必须创建另一个指令,将所选值转换为数字。

<select ng-model="model.id" convert-to-number>
  <option value="0">Zero</option>
  <option value="1">One</option>
  <option value="2">Two</option>
</select>
{{ model }}



(function(angular) {
  'use strict';
angular.module('nonStringSelect', [])
  .run(function($rootScope) {
    $rootScope.model = { id: 2 };
  })
  .directive('convertToNumber', function() {
    return {
      require: 'ngModel',
      link: function(scope, element, attrs, ngModel) {
        ngModel.$parsers.push(function(val) {
          return parseInt(val, 10);
        });
        ngModel.$formatters.push(function(val) {
          return '' + val;
        });
      }
    };
  });
})(window.angular);