Javascript 角JS动力学模型
这里我要做的是,当我在Javascript 角JS动力学模型,javascript,angularjs,generics,model,scope,Javascript,Angularjs,Generics,Model,Scope,这里我要做的是,当我在main字段中键入文本时,我希望启用DateField和NumberField。我希望$scope.enableSubFields是泛型的,因此可以将其用作实用程序。(控制器不工作,我只是想展示我想要的:)) 这是我的HTML: <div> <label>IF THIS HAS TEXT THEN ENABLE DATE AND NUMBER FIELD</label> &l
main字段
中键入文本时,我希望启用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.enableSubFields = function(mainField, subfield) {
if ($scope[mainField] !== "") {
$scope[subfield] = false;
} else {
$scope[subfield] = true;
}
};
或更短:
$scope.enableSubFields = function(mainField, subfield) {
$scope[subfield] = $scope[mainField] == "";
};
演示:谢谢你!!这让我对如何玩angular有了更多的想法。谢谢!!+这段较短的代码非常有帮助,一般来说,您可以使用这种方法使用javascript。如果我想在禁用文本字段时清除它,怎么样?我想我可以在jquery中完成,但是有没有办法在angular中选择文本字段的模型,这样我就可以将其值设置为空字符串?@ElementaryStudentProgramming然后我会使用指令。
$scope.enableSubFields = function(mainField, subfield) {
$scope[subfield] = $scope[mainField] == "";
};