首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角JS动力学模型

角JS动力学模型
EN

Stack Overflow用户
提问于 2014-04-01 05:36:19
回答 1查看 326关注 0票数 1

我在这里试图做的是,当我在MainField中输入一个文本时,我希望启用DateFieldNumberField。我希望$scope.enableSubFields是通用的,这样它就可以作为实用工具使用。(控制器不起作用,我只是想展示我想要的东西:)

这是我的HTML:

代码语言:javascript
复制
        <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>

这是我的控制器

代码语言:javascript
复制
$scope.Subfield= true;
$scope.enableSubFields = function (mainField, subfield) {

    if ($scope + '.' + mainField != "") {
        $scope + '.' + subfield = false;
    } else {
        $scope + '.' + subfield = true;            
    }
}; 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-01 05:41:14

您需要使用括号符号来访问对象的动态属性。所以你的代码应该是:

代码语言:javascript
复制
$scope.enableSubFields = function(mainField, subfield) {
    if ($scope[mainField] !== "") {
        $scope[subfield] = false;
    } else {
        $scope[subfield] = true;
    }
};

或更短:

代码语言:javascript
复制
$scope.enableSubFields = function(mainField, subfield) {
    $scope[subfield] = $scope[mainField] == "";
};

演示:http://plnkr.co/edit/IbVzrPFEf624JiG6hIrC?p=preview

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22777619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档