我在这里试图做的是,当我在MainField中输入一个文本时,我希望启用DateField和NumberField。我希望$scope.enableSubFields是通用的,这样它就可以作为实用工具使用。(控制器不起作用,我只是想展示我想要的东西:)
这是我的HTML:
<div>
<label>IF THIS HAS TEXT THEN ENABLE DATE AND NUMBER FIELD</label>
<input type="text" ng-model="MainField" ng-change="enableSubFields('MainField','Subfield')"/>
</div>
<div>
<label>DATE FIELD</label>
<input type="text" ng-model="DateField" ng-disabled="Subfield"/>
</div>
<div>
<label>NUMBER FIELD:</label>
<input type="text" ng-model="NumberField" ng-disabled="Subfield"/>
</div>这是我的控制器
$scope.Subfield= true;
$scope.enableSubFields = function (mainField, subfield) {
if ($scope + '.' + mainField != "") {
$scope + '.' + subfield = false;
} else {
$scope + '.' + subfield = true;
}
}; 发布于 2014-04-01 05:41:14
您需要使用括号符号来访问对象的动态属性。所以你的代码应该是:
$scope.enableSubFields = function(mainField, subfield) {
if ($scope[mainField] !== "") {
$scope[subfield] = false;
} else {
$scope[subfield] = true;
}
};或更短:
$scope.enableSubFields = function(mainField, subfield) {
$scope[subfield] = $scope[mainField] == "";
};演示:http://plnkr.co/edit/IbVzrPFEf624JiG6hIrC?p=preview
https://stackoverflow.com/questions/22777619
复制相似问题