对于具有类型编号的输入元素,当输入的数字具有前导零(例如&00; 0000123456')时,模型将更新为123456,而视图/输入仍保持不变0000123456。
但是,如果我从数字切换到文本,一切都按预期工作。我想有号码,因为它会显示移动设备的数字键盘。
<input type="number" ng-model="vm.orderid"/>
{{vm.orderid}}
答案 0 :(得分:5)
正如@Steve所说,我使用了一个自定义指令my-decimals
,当输入失去焦点时,它会将视图值与模型匹配。
<input type="number" my-decimals ng-model="vm.orderid"/>
angular.directive('myDecimals', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
elm.blur(function() {
var val = ctrl.$viewValue;
ctrl.$setViewValue(val * 1);
ctrl.$render();
});
}
}
});
答案 1 :(得分:3)
你必须选择这个,
使用: <input type = "tel">
它是为了这个目的而引入的。它是HTML5中的新输入类型之一。
或,<input type="text" pattern="[0-9]">
它会打开iPhone和Android手机上的数字键盘。你可以测试一下。我不是百分百肯定。