gpt4 book ai didi

javascript - Angular Directive(指令)不适用于输入类型 = "number"

转载 作者:行者123 更新时间:2023-12-02 14:08:25 24 4
gpt4 key购买 nike

下面的代码仅在输入类型为文本时有效,当类型为数字时无效。

<div ng-app="myApp" ng-controller="myCtrl as model">
<input type="text" ng-model="cero" ng-decimal >
</div>


angular
.module("myApp",[])
.controller('myCtrl', function($scope){
var model=this;
})
.directive('ngDecimal', function ($parse) {
var linkFunction =function(scope, element, attrs){
element.bind("keypress", function(event) {
if(event.which === 13) {
scope.$apply(function(){
scope.$eval(attrs.format, {'event': event});
if(scope.cero===undefined || scope.cero===''){
scope.cero="0.",
event.preventDefault();
}else{

}
});
}
});
};
return{
restrict : 'A',
scope:{
cero: '=ngModel'
},
link: linkFunction
}
});

我需要帮助的是将类型更改为数字,并且仍然使代码正常工作。代码也在 CodePen .

最佳答案

更新笔:http://codepen.io/anon/pen/QKOVkP?editors=1011

适用于数字,限制是您无法分配

scope.cero = "0." // string value

type="number" 所以将其替换为您想要分配的最小数字,也许

scope.cero = parseFloat("0.01")  // parseFloat("0.") won't work

关于javascript - Angular Directive(指令)不适用于输入类型 = "number",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39855355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com