我有一个ng-model输入元素,我想输入整数,正数,但是在空输入的情况下将模型值设置为" 1"。
我已创建了一个指令,但在输入模糊后,它不会将模型值更改为" 1":
angular.module('myapp', [])
.controller('MainCtrl', function ($scope) {
$scope.item = { qty: 2 };
})
.directive('cartQty', function () {
return {
require: 'ngModel',
link: function (scope, elem) {
scope.$watch('item.qty', function (newValue, oldValue) {
var arr = String(newValue).split('');
if (arr.length == 0) return;
if (newValue == 0) scope.item.qty = 1;
if (isNaN(newValue)) scope.item.qty = oldValue;
});
elem.on('blur', function () {
var value = String(elem[0].value);
if (value.length == 0) scope.item.qty = 1;
});
}
};
});
这是JSFiddle的实例:http://jsfiddle.net/buh86w8n/2/
有没有人可以帮助我?
答案 0 :(得分:3)
create table test(
name varchar (10),
date_engaged nvarchar (20),
timestamp2 nvarchar (20),
LOS nvarchar (20)
)
insert into test (name,date_engaged) values ('JJ','12/09/2010')
update test
set timestamp2=CAST(DATEADD(month,0,dateadd(month,datediff(month,0,getdate()),-1)) AS DATE)
update test
set LOS=DATEDIFF(day,date_engaged,timestamp2)/365.25
超出角度范围。
要更改elem.on('blur', function(){ // code..})
事件中的范围值,您必须致电elem.on blur
。
elem.on模糊事件:
$apply()
答案 1 :(得分:0)
或者你可以$watch
获得该输入,如果它为空则将其设置为1。
所以它从2开始,如果你删除它,它将被设置为1,否则将其设置为任何数字。
以下是您的代码编辑: