根据角度中的另一个字段设置输入字段的默认值
set default value of input field based on another field in Angular
在 Angular (1.5) 中,我有一个包含两个输入字段的表单:
- 身份证
- 网址
规则:
- 如果 ID 字段为空,则 URL 字段应为空
- 如果 URL 字段是手动设置的,则它不应自动更改
- 否则,URL 字段应为"http://myurl/"+ID+".txt"
我如何实现这一点?
<input type="text" name="url"
ng-model="url"
ng-model-options="{ getterSetter: true }" />
。
function defaulUrl() {
if $scope.ID {
return 'http://myurl/'+$scope.ID+'.txt';
}
return ''
}
var _url = defaultURl();
$scope.url = {
url: function(url) {
return arguments.length ? (_url= url) : defaulUrl();
}
}
};
在 ID 字段上使用$watch
。如果 ID 字段发生更改,将调用监视函数。
$scope.$watch('$scope.ID', function() {
$scope.url = 'http://myurl/' + $scope.ID + '.txt';
}, true);
这是我
制作的符合您要求的小提琴:小提琴
代码
//HTML
<div ng-app="myApp" ng-controller="MyController">
ID <input type="text" ng-model="data.id" ng-change="onIDChange()"/>
URL <input type="text" ng-model="data.url" ng-change="onManualUrlChange()"/>
</div>
//JS
angular.module('myApp',[])
.controller('MyController', ['$scope', function($scope){
$scope.data = {
id:'',
url:''
}
$scope.manualUrl = false;
$scope.onIDChange = function(){
if(!$scope.manualUrl){
if($scope.data.id === ''){
$scope.data.url = '';
} else {
$scope.data.url = "http://myurl/" + $scope.data.id + ".txt";
}
}
}
$scope.onManualUrlChange = function(){
$scope.manualUrl = true
};
}]);
相关文章:
- 如何将Date字段设置为等于另一个Date+Int值,该值表示月份值
- Sencha触摸,字段设置为Change Listener
- 将字段设置为有条件地使用所需的字段验证器
- crm 2011 javascript将日期字段设置为null
- 如何在自定义指令中将字段设置为$dirty
- javascript函数将上传文件字段设置为deafult
- 根据角度中的另一个字段设置输入字段的默认值
- Yii2 输入字段设置禁用取决于其他字段
- JavaScript for HTML5 必填字段设置为在 Safari 中工作
- 在 podio 中将计算日期字段设置为 null(因此使用 javascript)
- MongoDB:确保只有一个文档可以将字段设置为 true
- HTML 输入字段设置范围
- 如何使用 eval() 为作为参数提供的字段设置值
- j查询如何将值从输入字段设置为其他元素数据属性
- 使用具有金钱掩码的字段设置动态最大值
- 将输入字段设置为包含 window.location.href
- 根据下拉选择将输入字段设置为必填字段
- 从输入字段设置变量
- 从html输入字段设置javascript变量
- 如何在angularjs 1.3中将表单中的特定字段设置为dirty