Angularjs $scope with parameter

大憨熊 提交于 2020-01-05 07:18:07

问题


I'm new in Angular and I can't achieve something really simple, lets say we have several checkbox input loops followed by an input text field like this:

<body ng-app="ngToggle">
    <div ng-controller="AppCtrl">
        <input type="checkbox" ng-repeat="btn in btns" ng-model="changing" ng-change="change(btn.value, 'other')" class="here" value="{{btn.value}}">

        <input type="text" class="uncheck" ng-disabled="other">


    <!-- Here comes the other one -->

       <input type="checkbox" ng-repeat="btn in btns" ng-model="changing" ng-change="change(btn.value, 'other2')" class="here" value="{{btn.value}}">

       <input type="text" class="uncheck" ng-disabled="other2">
    </div>
</body>

And the idea in here is this: once the checkbox with value "other" is checked it will enable the corresponding text field determinate in the field parameter of the change function, so I develop a function change(value, field) and works like this:

     $scope.btns = [
        {value:'one'},
        {value:'two'},
        {value:'other'}
    ];

   $scope.other = true;
   $scope.other2 = true;

   $scope.change = function(value, field) {
    if(value == 'other'){
        if($scope.field == false){
        $scope.field = true;
      } else {
        $scope.field = false;
      }
    }
  };

But the problem is, this does not work, I don't know if I making this in the right way, the $scope.field is the problem, how can I pass a parameter to the $scope

Hope someone can help me. Thanks.


回答1:


You can use ng-model with the checkbox, then use ng-disabled to listen to that model belonging to the checkboxes.

<input type="checkbox" value="Other" ng-model="myCheckboxes['other']" />
<input type="text" ng-disabled="myCheckboxes['other']" />


来源:https://stackoverflow.com/questions/37659974/angularjs-scope-with-parameter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!