在下面的代码中,在父div [class = timeAllot]内,无论何时,当我进行更改时(在输入按钮上,如am,pm,name等),然后,按钮div [div class =& #34;按钮"]元素应该是可见的。首先,当页面加载时,它应该是不可见的。
当我在第一个div上进行更改时,它不应该使所有类按钮div可见,它应该只使我改变哪个div。我的意思是,如果我确实改变了第一个&time; AllAllot'然后它应该只生成不可见的第一个div [div class =" buttons"]
问题是现在它使所有div元素都可见。
在我的控制器上,我有这段代码:
$scope.items = [{hours: 24, place: 'india'}, {hours: 24, place: 'uk'}, {hours: 24, place: 'USA'}];
$scope.dataItems = ['Items1', 'Item2', 'Item3'];
$scope.displaySaveCancel = false;
$scope.checkthiStuff = function(indexValue){
console.log("Check this stufff...", indexValue);
$scope.displaySaveCancel = true;
};
in html
<div class="timeAllot" ng-repeat="item in items" ng-change="checkthiStuff($index)">
Name: <input type="text" name="name" ng-model="name"/>
<div class="infos" ng-repeat="data in dataItems">
AM: <input type="text" name="am" ng-model="am"/>
PM: <input type="text" name="pm" ng-model="pm"/>
</div>
<div class="buttons" ng-show="displaySaveCancel === true">
<button>save</button>
<button>cancel</button>
</div>
</div>
答案 0 :(得分:0)
使用当前元素的$index
,
<div class="infos" >
AM: <input type="text" data-ng-change="checkthiStuff($index)" name="am" ng-model="am"/>
PM: <input type="text" data-ng-change="checkthiStuff($index)" name="pm" ng-model="pm"/>
</div>
<div class="buttons" ng-show="currentIndex === $index">
<button>save</button>
<button>cancel</button>
</div>
在控制器中,
$scope.currentIndex = -1;
$scope.checkthiStuff = function(indexValue){
$scope.currentIndex = indexValue;
};